Closed lhanson closed 6 years ago
I was able to resolve this, I suspect the linker was using an incompatible existing version of libopenconnect.so.5
already installed by the Raspbian distribution.
While it was broken, ldd
showed the following error which suggests that /usr/lib/arm-linux-gnueabihf/libopenconnect.so.5
is being used:
pi@raspberrypi:~ $ ldd /usr/local/sbin/openconnect
/usr/local/sbin/openconnect: /usr/lib/arm-linux-gnueabihf/libopenconnect.so.5: version `OPENCONNECT_5_5' not found (required by /usr/local/sbin/openconnect)
linux-vdso.so.1 (0x7eed7000)
/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f01000)
libopenconnect.so.5 => /usr/lib/arm-linux-gnueabihf/libopenconnect.so.5 (0x76ea6000)
libgnutls.so.30 => /usr/lib/arm-linux-gnueabihf/libgnutls.so.30 (0x76d19000)
libxml2.so.2 => /usr/lib/arm-linux-gnueabihf/libxml2.so.2 (0x76b89000)
libproxy.so.1 => /usr/lib/arm-linux-gnueabihf/libproxy.so.1 (0x76b5f000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76a20000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x769f9000)
libp11-kit.so.0 => /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0x7699b000)
libstoken.so.1 => /usr/lib/arm-linux-gnueabihf/libstoken.so.1 (0x76980000)
libgssapi_krb5.so.2 => /usr/lib/arm-linux-gnueabihf/libgssapi_krb5.so.2 (0x76937000)
libpcsclite.so.1 => /usr/lib/arm-linux-gnueabihf/libpcsclite.so.1 (0x7691e000)
liblz4.so.1 => /usr/lib/arm-linux-gnueabihf/liblz4.so.1 (0x768fd000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x768d4000)
/lib/ld-linux-armhf.so.3 (0x76f17000)
libidn.so.11 => /lib/arm-linux-gnueabihf/libidn.so.11 (0x76893000)
libtasn1.so.6 => /usr/lib/arm-linux-gnueabihf/libtasn1.so.6 (0x76873000)
libnettle.so.6 => /usr/lib/arm-linux-gnueabihf/libnettle.so.6 (0x7682c000)
libhogweed.so.4 => /usr/lib/arm-linux-gnueabihf/libhogweed.so.4 (0x767ef000)
libgmp.so.10 => /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0x7677c000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76769000)
libicui18n.so.57 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.57 (0x76559000)
libicuuc.so.57 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.57 (0x763ef000)
libicudata.so.57 => /usr/lib/arm-linux-gnueabihf/libicudata.so.57 (0x74b62000)
liblzma.so.5 => /lib/arm-linux-gnueabihf/liblzma.so.5 (0x74b31000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x74ab2000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x7496a000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x7493d000)
libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x74925000)
libtomcrypt.so.0 => /usr/lib/arm-linux-gnueabihf/libtomcrypt.so.0 (0x74871000)
libkrb5.so.3 => /usr/lib/arm-linux-gnueabihf/libkrb5.so.3 (0x747ba000)
libk5crypto.so.3 => /usr/lib/arm-linux-gnueabihf/libk5crypto.so.3 (0x7477b000)
libcom_err.so.2 => /lib/arm-linux-gnueabihf/libcom_err.so.2 (0x74768000)
libkrb5support.so.0 => /usr/lib/arm-linux-gnueabihf/libkrb5support.so.0 (0x7474f000)
libkeyutils.so.1 => /lib/arm-linux-gnueabihf/libkeyutils.so.1 (0x7473c000)
libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0x74717000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x74700000)
libtommath.so.1 => /usr/lib/arm-linux-gnueabihf/libtommath.so.1 (0x746dc000)
Then I noticed while I was installing an unrelated package that apt told me:
The following packages were automatically installed and are no longer required:
libopenconnect5
Use 'sudo apt autoremove' to remove them.
So I did, and now with the broken version of libopenconnect5
no longer interfering, we find the source-installed version in /usr/local/lib
now:
pi@raspberrypi:~/src/openconnect$ ldd $(which openconnect)
linux-vdso.so.1 (0x7ed96000)
/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76faf000)
libopenconnect.so.5 => /usr/local/lib/libopenconnect.so.5 (0x76f54000)
libgnutls.so.30 => /usr/lib/arm-linux-gnueabihf/libgnutls.so.30 (0x76dc7000)
libxml2.so.2 => /usr/lib/arm-linux-gnueabihf/libxml2.so.2 (0x76c37000)
libproxy.so.1 => /usr/lib/arm-linux-gnueabihf/libproxy.so.1 (0x76c0d000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76ace000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x76aa7000)
libp11-kit.so.0 => /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0x76a49000)
libidn.so.11 => /lib/arm-linux-gnueabihf/libidn.so.11 (0x76a08000)
libtasn1.so.6 => /usr/lib/arm-linux-gnueabihf/libtasn1.so.6 (0x769e8000)
libnettle.so.6 => /usr/lib/arm-linux-gnueabihf/libnettle.so.6 (0x769a1000)
libhogweed.so.4 => /usr/lib/arm-linux-gnueabihf/libhogweed.so.4 (0x76964000)
libgmp.so.10 => /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0x768f1000)
/lib/ld-linux-armhf.so.3 (0x76fc5000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x768de000)
libicui18n.so.57 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.57 (0x766ce000)
libicuuc.so.57 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.57 (0x76564000)
libicudata.so.57 => /usr/lib/arm-linux-gnueabihf/libicudata.so.57 (0x74cd7000)
liblzma.so.5 => /lib/arm-linux-gnueabihf/liblzma.so.5 (0x74ca6000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x74c27000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x74bfe000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x74ab6000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x74a89000)
libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x74a71000)
Now I can run openconnect successfully:
pi@raspberrypi:~$ openconnect --version
OpenConnect version v7.08-334-g2d2da477
Using GnuTLS. Features present: PKCS#11, HOTP software token, TOTP software token, System keys, DTLS, ESP
Supported protocols: anyconnect (default), nc, gp
I've built openconnect from source (the
globalprotect
branch) as the README instructs, including the prerequisites viaapt-get
and thesudo ldconfig
step after installing. However, I receive an error upon running it:System info: