Toolchain Manager not installing all dependencies

I've been trying to install the newest nRF Connect SDK using the Toolchain Manager with the appimage The toolchain and SDK installations seem to be successful however when the opening vscode the sdk is not found. the following is one of the error massage Command failed: git ls-remote --tags --heads https://github.com/nrfconnect/sdk-nrf this is the second error. the second is the following. Error while loading shared libraries: libunistring.so.2: cannot open shared object file: No such file or directory. I have tried to reinstall libunistring but to no success.

Parents Reply Children
  • Not really a proper solution, because different major versions of library can have different API, so pretending they are the same is questionable.

    They (Nordic) seem to supply most of needed libraries in toolchain directory (a'la docker), but missed few:

    bash-5.2$ ldd /home/mk/ncs/toolchains/7795df4459/usr/local/libexec/git-core/git-remote-https
        linux-vdso.so.1 (0x00007ffdc57a8000)
        libcurl-gnutls.so.4 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f433a65d000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f433a643000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f433a63e000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f433a1cc000)
        libnghttp2.so.14 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f433a1a3000)
        libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007f433a61a000)
        librtmp.so.1 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f433a183000)
        libssh.so.4 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libssh.so.4 (0x00007f433a115000)
        libpsl.so.5 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f433a102000)
        libnettle.so.7 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libnettle.so.7 (0x00007f433a0c8000)
        libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007f4339e00000)
        libgssapi_krb5.so.2 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f433a079000)
        libldap_r-2.4.so.2 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f433a023000)
        liblber-2.4.so.2 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f433a012000)
        libbrotlidec.so.1 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f433a004000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f433a6ef000)
        libunistring.so.5 => /usr/lib/libunistring.so.5 (0x00007f4339c46000)
        libhogweed.so.5 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libhogweed.so.5 (0x00007f4339c0c000)
        libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f4339b66000)
        libcrypto.so.1.1 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f4339800000)
        libunistring.so.2 => not found
        libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007f433966a000)
        libbrotlienc.so.1 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libbrotlienc.so.1 (0x00007f4339adb000)
        libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f4339597000)
        libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007f4339580000)
        libnettle.so.8 => /usr/lib/libnettle.so.8 (0x00007f4339528000)
        libhogweed.so.6 => /usr/lib/libhogweed.so.6 (0x00007f43394df000)
        libkrb5.so.3 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f4339402000)
        libk5crypto.so.3 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f43393d1000)
        libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007f43393cb000)
        libkrb5support.so.0 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f43393bc000)
        libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f43393ab000)
        libsasl2.so.2 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f433938e000)
        libgssapi.so.3 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f4339349000)
        libbrotlicommon.so.1 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f4339326000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f4339321000)
        libffi.so.8 => /usr/lib/libffi.so.8 (0x00007f4339316000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f4339229000)
        libkeyutils.so.1 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f4339220000)
        libheimntlm.so.0 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f4339214000)
        libkrb5.so.26 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f4339181000)
        libasn1.so.8 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f43390db000)
        libhcrypto.so.4 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f43390a3000)
        libroken.so.18 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f4339088000)
        libwind.so.0 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f433905e000)
        libheimbase.so.1 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f433904c000)
        libhx509.so.5 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f4338ffe000)
        libsqlite3.so.0 => /home/mk/ncs/toolchains/7795df4459/usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f4338ed5000)
        libcrypt.so.1 => not found

    Missing are libunistring.so.2 and libcrypt.so.1 (fresh Arch linux).

    Few are mapping to system-wide installed libraries.

    What's interesting, they expect different versions of libunistring: 2 & 5 in parallel:

        libunistring.so.5 => /usr/lib/libunistring.so.5 (0x00007f4339c46000)
        libunistring.so.2 => not found

    So, when supplying all the tools in toolchain directory, there are few more things to supply and clean.

  • There is a similar issue with python3. When running the west build command I get a missing libpython3.9.so.1.0 error. I don't have python version 3.9 installed so this library is not available. 

    If you are going to package all the tools like this and even bundle the python interpreter, it would be wise to include the required libraries as well.

  • Actually just saw that libpython3.9.so.1.0 is included in the toolchain, but somehow it's not found when running the executable.

Related