EdgeAgent service should start
EdgeAgent fails with message "/usr/bin/iotedged: error while loading shared libraries: libssl.so.1.0.2: cannot open shared object file: No such file or directory"
Debian GNU/Linux 8
ARMv7 Processor rev 2 (v7l)
Moby
1.0.0 52ef77db24126bf473265fc09c53d35290a2dd6b
Client:
Version: 18.06.0-dev
API version: 1.37
Go version: go1.10.2
Git commit: daf021fe
Built: Wed Jun 27 00:53:52 2018
OS/Arch: linux/arm
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: dev
API version: 1.37 (minimum version 1.12)
Go version: go1.10.2
Git commit: 9aac187
Built: Tue Jun 26 23:27:27 2018
OS/Arch: linux/arm
Experimental: false
sudo systemctl status iotedge -l:
● iotedge.service - Azure IoT Edge daemon
Loaded: loaded (/lib/systemd/system/iotedge.service; enabled)
Active: failed (Result: start-limit) since Tue 2018-07-31 13:19:30 GMT; 2h 36min ago
Docs: man:iotedged(8)
Main PID: 596 (code=exited, status=127)
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service: main process exited, code=exited, status=127/n/a
Jul 31 13:19:30 Moxa systemd[1]: Unit iotedge.service entered failed state.
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service holdoff time over, scheduling restart.
Jul 31 13:19:30 Moxa systemd[1]: Stopping Azure IoT Edge daemon...
Jul 31 13:19:30 Moxa systemd[1]: Starting Azure IoT Edge daemon...
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service start request repeated too quickly, refusing to start.
Jul 31 13:19:30 Moxa systemd[1]: Failed to start Azure IoT Edge daemon.
Jul 31 13:19:30 Moxa systemd[1]: Unit iotedge.service entered failed state.
sudo journalctl -u iotedge -f
● iotedge.service - Azure IoT Edge daemon
Loaded: loaded (/lib/systemd/system/iotedge.service; enabled)
Active: failed (Result: start-limit) since Tue 2018-07-31 13:19:30 GMT; 2h 36min ago
Docs: man:iotedged(8)
Main PID: 596 (code=exited, status=127)
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service: main process exited, code=exited, status=127/n/a
Jul 31 13:19:30 Moxa systemd[1]: Unit iotedge.service entered failed state.
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service holdoff time over, scheduling restart.
Jul 31 13:19:30 Moxa systemd[1]: Stopping Azure IoT Edge daemon...
Jul 31 13:19:30 Moxa systemd[1]: Starting Azure IoT Edge daemon...
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service start request repeated too quickly, refusing to start.
Jul 31 13:19:30 Moxa systemd[1]: Failed to start Azure IoT Edge daemon.
Jul 31 13:19:30 Moxa systemd[1]: Unit iotedge.service entered failed state.
root@Moxa:/home/moxa# sudo journalctl -u iotedge -f
-- Logs begin at Tue 2018-07-31 13:19:21 GMT. --
Jul 31 13:19:30 Moxa systemd[1]: Starting Azure IoT Edge daemon...
Jul 31 13:19:30 Moxa systemd[1]: Started Azure IoT Edge daemon.
Jul 31 13:19:30 Moxa iotedged[596]: /usr/bin/iotedged: error while loading shared libraries: libssl.so.1.0.2: cannot open shared object file: No such file or directory
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service: main process exited, code=exited, status=127/n/a
Jul 31 13:19:30 Moxa systemd[1]: Unit iotedge.service entered failed state.
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service holdoff time over, scheduling restart.
Jul 31 13:19:30 Moxa systemd[1]: Stopping Azure IoT Edge daemon...
Jul 31 13:19:30 Moxa systemd[1]: Starting Azure IoT Edge daemon...
Jul 31 13:19:30 Moxa systemd[1]: iotedge.service start request repeated too quickly, refusing to start.
Jul 31 13:19:30 Moxa systemd[1]: Failed to start Azure IoT Edge daemon.
This is running on a Moxa UC8100
Thanks for your help!
Hello @scottjreece,
We don't have packages that support Debian 8 systems yet, but this is something in progress.
Hi @darobs, thanks for your reply. I realize that this isn't supported but
on the other thread I mentioned this on (
https://github.com/MicrosoftDocs/azure-docs/issues/11046#issuecomment-408525513),
you said that you might be able to help me find a workaround and that I
should create a new issue here for it. It looks like if I can 'trick' the
Edge Agent into looking in the right place for this SSL library that it
should work. What are your thoughts? Any help is very much appreciated.
On Tue, Jul 31, 2018 at 10:26 AM David Robson notifications@github.com
wrote:
Hello @scottjreece https://github.com/scottjreece,
We don't have packages that support Debian 8 systems yet, but this is
something in progress.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/iotedge/issues/101#issuecomment-409302070, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACCK4t8YHR-kR2Fldw0BJVqckShJMgpEks5uMJNhgaJpZM4VojZW
.
Thank you for reminding me.
Just soft-linking the libraries (libssl and libcrypto) might work if the openssl version matches the target version we build on that platform. We're building against openssl version 1.0.2 in the ARM32 packages, so the version installed on your system has to be 1.0.2.
Likewise, installing openssl1.0.2 (named as 1.0.2) will allow the iotedged to run.
If you have a cross-compiler set up for your system, then building the packages for Debian 8 can be done.
None of these are awesome work-arounds, which is why we're working on adding more distributions to our packaging releases.
I'm not sure exactly how to do any of that as I'm not very familiar with
Linux, but you've at least given me a few directions to research so thank
you. I'll post here if I get anything to work.
On Tue, Jul 31, 2018 at 10:57 AM David Robson notifications@github.com
wrote:
Thank you for reminding me.
Just soft-linking the libraries (libssl and libcrypto) might work if the
openssl version matches the target version we build on that platform. We're
building against openssl version 1.0.2 in the ARM32 packages, so the
version installed on your system has to be 1.0.2.Likewise, installing openssl1.0.2 (named as 1.0.2) will allow the iotedged
to run.If you have a cross-compiler set up for your system, then building the
packages for Debian 8 can be done.None of these are awesome work-arounds, which is why we're working on
adding more distributions to our packaging releases.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/iotedge/issues/101#issuecomment-409311859, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACCK4sxwjoUOz_8GBr6EyTt1eXkiUhDZks5uMJqOgaJpZM4VojZW
.
As a workaround, can you try installing iotedged after the steps below?
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.2l-1~bpo8+1_armhf.deb
sudo dpkg -i ./libssl-dev_1.0.2l-1~bpo8+1_armhf.deb
Thanks @veyalla for the suggestion, but sadly it didn't work. I'm still getting the same error about libssl.so.1.0.2.
@scottjreece can you try after sudo apt install -f
Depending on what libssl is installed on your system (example is for libssl.so.1.0.0), the following workaround (the soft-linking mentioned by @darobs ) may work, but is not recommended for anything but testing:
cd /lib/arm-linux-gnueabihf/
ln -s libssl.so.1.0.0 libssl.so.1.0.2
ln -s libcrypto.so.1.0.0 libcrypto.so.1.0.2
Debian 8 is not an officially supported OS on arm32. However, we have added scripts to the repo to help build for this platform. They are located here: https://github.com/Azure/iotedge/tree/master/edgelet/build/linux/debian8/arm32v7
I'm going to close this issue for now, as we don't have plans to add Debian 8 at the moment. Please feel free to reopen if you have any questions. Thanks.
Most helpful comment
Depending on what libssl is installed on your system (example is for libssl.so.1.0.0), the following workaround (the soft-linking mentioned by @darobs ) may work, but is not recommended for anything but testing:
cd /lib/arm-linux-gnueabihf/
ln -s libssl.so.1.0.0 libssl.so.1.0.2
ln -s libcrypto.so.1.0.0 libcrypto.so.1.0.2