Used the guide at https://docs.microsoft.com/en-us/azure/iot-edge/how-to-install-iot-edge-linux-arm to install moby and iotedge on a fresh install of Raspbian Buster.
Install should run through and I should be left with a working iotedge installation.
Confirmed it is working on Raspbian Stretch.
Install runs through as expected but any iotedge commands result in the error:
iotedge: error while loading shared libraries: libssl.so.1.0.2: cannot open shared object file: No such file or directory
sudo iotedge listiotedge checkiotedge: error while loading shared libraries: libssl.so.1.0.2: cannot open shared object file: No such file or directory
Raspberry Pi 3 Model B Rev 1.2
Linux raspberrypi 4.19.50-v7+ armv7l
Version:June 2019
Release date:2019-06-20
Kernel version:4.19
arm32
Linux
1.0.7.1
N/A - doesn't get this far
N/A - doesn't get this far
Client:
Version: 3.0.5
API version: 1.40
Go version: go1.12.1
Git commit: ba9934d4
Built: Thu Apr 18 23:28:44 2019
OS/Arch: linux/arm
Experimental: false
Server:
Engine:
Version: 3.0.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.1
Git commit: dbe4a30
Built: Fri Apr 19 07:14:38 2019
OS/Arch: linux/arm
Experimental: false
containerd:
Version: v1.2.5
GitCommit: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
runc:
Version: 1.0.0-rc6+dev
GitCommit: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
docker-init:
Version: 0.18.0
GitCommit: fec3683
Jul 03 14:21:56 raspberrypi iotedged[793]: /usr/bin/iotedged: error while loading shared libraries: libcrypto.so.1.0.2: cannot open shared object file: No such file or directory
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Main process exited, code=exited, status=127/n/a
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Failed with result 'exit-code'.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Service RestartSec=100ms expired, scheduling restart.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Scheduled restart job, restart counter is at 1.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.socket: Succeeded.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.mgmt.socket: Succeeded.
Jul 03 14:21:56 raspberrypi iotedged[798]: /usr/bin/iotedged: error while loading shared libraries: libcrypto.so.1.0.2: cannot open shared object file: No such file or directory
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Main process exited, code=exited, status=127/n/a
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Failed with result 'exit-code'.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Service RestartSec=100ms expired, scheduling restart.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.service: Scheduled restart job, restart counter is at 2.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.mgmt.socket: Succeeded.
Jul 03 14:21:56 raspberrypi systemd[1]: iotedge.socket: Succeeded.
Jul 03 14:21:57 raspberrypi iotedged[802]: /usr/bin/iotedged: error while loading shared libraries: libcrypto.so.1.0.2: cannot open shared object file: No such file or directory
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Main process exited, code=exited, status=127/n/a
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Failed with result 'exit-code'.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Service RestartSec=100ms expired, scheduling restart.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Scheduled restart job, restart counter is at 3.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.mgmt.socket: Succeeded.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.socket: Succeeded.
Jul 03 14:21:57 raspberrypi iotedged[809]: /usr/bin/iotedged: error while loading shared libraries: libcrypto.so.1.0.2: cannot open shared object file: No such file or directory
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Main process exited, code=exited, status=127/n/a
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Failed with result 'exit-code'.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Service RestartSec=100ms expired, scheduling restart.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Scheduled restart job, restart counter is at 4.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.mgmt.socket: Succeeded.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.socket: Succeeded.
Jul 03 14:21:57 raspberrypi iotedged[823]: /usr/bin/iotedged: error while loading shared libraries: libcrypto.so.1.0.2: cannot open shared object file: No such file or directory
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Main process exited, code=exited, status=127/n/a
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Failed with result 'exit-code'.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Service RestartSec=100ms expired, scheduling restart.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Scheduled restart job, restart counter is at 5.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.socket: Succeeded.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.mgmt.socket: Succeeded.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Start request repeated too quickly.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.service: Failed with result 'exit-code'.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.mgmt.socket: Failed with result 'service-start-limit-hit'.
Jul 03 14:21:57 raspberrypi systemd[1]: iotedge.socket: Failed with result 'service-start-limit-hit'.
Hello @nanowireUK
Thank you for bringing this to our attention.
It looks like Raspbian Buster has updated the default version of OpenSSL to 1.1 and has dropped 1.0 libraries entirely - and that means it looks like we need to build new packages to support it. I'll add this task to our backlog.
As a temporary workaround, you can install the 1.0.2 packages from here (armhf binaries):
https://packages.debian.org/stretch/armhf/libssl1.0.2/download
or the Raspbian stretch repo.
I have the exactly same issue. Can you let me know when the new package becomes available?
Thank you!
(Marking as enhancement because Debian 10 + derivatives are not supported at the moment.)
Following... new package would be great, thanks!
Following as well...
It looks like libssl1.0.2 is present in the release version of Buster. I was able to do
sudo apt-get install libssl1.0.2
successfully. I was able to install iotedge after that.
If anyone wants to test it out, take that PR and run VERSION=1.0.9 PACKAGE_OS=debian10 PACKAGE_ARCH=aarch64 ./edgelet/build/linux/package.sh from the repo root. You should get ./edgelet/target/hsm/libiothsm-std_1.0.9-1_arm64.deb and ./edgelet/target/aarch64-unknown-linux-gnu/release/iotedge_1.0.9-1_arm64.deb that have been compiled on Debian 10 and link to libssl1.1
Edit: Or VERSION=1.0.9 PACKAGE_OS=debian10 PACKAGE_ARCH=arm32v7 ./edgelet/build/linux/package.sh for an arm32v7 build, which will give you ./edgelet/target/hsm/libiothsm-std_1.0.9-1_armhf.deb and ./edgelet/target/armv7-unknown-linux-gnueabihf/release/iotedge_1.0.9-1_armhf.deb
I ran into this as well, but found that sudo apt-get install libssl1.0.2 works around it.
iotedge and libiothsm-std with:PACKAGE_OS=debian10 PACKAGE_ARCH=arm32v7 ./edgelet/build/linux/package.sh, orPACKAGE_OS=debian10 PACKAGE_ARCH=aarch64 ./edgelet/build/linux/package.shdepending on what distro you're running on your Pi.
The generated binaries will link to openssl 1.1, and more importantly the packages will have a dependency on the libssl1.1 package. So apt will install it automatically if you didn't already have it.
Note that regardless of that script making it easy to build the packages, as of now we haven't decided to officially support Debian 10 / Raspbian Buster as a tier 1 platform.
It looks like libssl1.0.2 is present in the release version of Buster. I was able to do
sudo apt-get install libssl1.0.2
successfully. I was able to install iotedge after that.
Stumbled on the same problem and the above workaround worked.
$ sudo dpkg -i libiothsm-std_1.0.8-2_armhf.deb
$ sudo apt-get install libssl1.0.2
$ sudo dpkg -i iotedge_1.0.8-2_armhf.deb
1.0.9-rc1 has been released.
Most helpful comment
It looks like libssl1.0.2 is present in the release version of Buster. I was able to do
successfully. I was able to install iotedge after that.