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
  • Hi ,

    I just had the same issue on my Manjaro Linux.

    Your machine is missing the file libunistring.so.2. The following creates a symbolic link from libunistring.so.5.

    sudo ln -s /usr/lib/libunistring.so.5 /usr/lib/libunistring.so.2



    Best regards,
    Ben

  • 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.

Reply
  • 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.

Children
Related