Recently I compiled with bzip2 and gnutls support. The TLS stuff is important for dirmngr, Today I compare what is going on. However, this data set was collected before last Saturday. It indicates some problems with the environment I used to compile. It worked (in a way) for a version with GnuTLS, but it didn't work for a version with Sqlite3. I'll come back to this problem another time.
$ ldd /usr/bin/dirmngr linux-vdso.so.1 (...) libassuan.so.0 => /usr/lib/x86_64-linux-gnu/libassuan.so.0 (...) libksba.so.8 => /usr/lib/x86_64-linux-gnu/libksba.so.8 (...) libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (...) libnpth.so.0 => /usr/lib/x86_64-linux-gnu/libnpth.so.0 (...) libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (...) libgcrypt.so.20 => /usr/lib/x86_64-linux-gnu/libgcrypt.so.20 (...) libldap-2.5.so.0 => /usr/lib/x86_64-linux-gnu/libldap-2.5.so.0 (...) liblber-2.5.so.0 => /usr/lib/x86_64-linux-gnu/liblber-2.5.so.0 (...) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (...) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (...) libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (...) libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (...) libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (...) libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (,,,) libnettle.so.8 => /usr/lib/x86_64-linux-gnu/libnettle.so.8 (...) libhogweed.so.6 => /usr/lib/x86_64-linux-gnu/libhogweed.so.6 (...) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (...) /lib64/ld-linux-x86-64.so.2 (...) libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (...) libffi.so.8 => /usr/lib/x86_64-linux-gnu/libffi.so.8 (...)
This is the reference to compare with.
For the next test the package libgnutls28-dev
has to be deinstalled. But in this case dirmngr is not created. The ldd test seems to show dirmngr to be the only binary to link against gnutls.
$ LD_LIBRARY_PATH="/tmp/canary/install/lib" ldd /tmp/canary/install/bin/dirmngr linux-vdso.so.1 (...) libassuan.so.9 => /tmp/canary/install/lib/libassuan.so.9 (...) libksba.so.8 => /tmp/canary/install/lib/libksba.so.8 (...) libgpg-error.so.0 => /tmp/canary/install/lib/libgpg-error.so.0 (...) libnpth.so.0 => /tmp/canary/install/lib/libnpth.so.0 (...) libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (...) libgcrypt.so.20 => /tmp/canary/install/lib/libgcrypt.so.20 (...) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (...) libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (...) libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (...) libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (...) libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (...) libnettle.so.8 => /usr/lib/x86_64-linux-gnu/libnettle.so.8 (...) libhogweed.so.6 => /usr/lib/x86_64-linux-gnu/libhogweed.so.6 (...) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (...) /lib64/ld-linux-x86-64.so.2 (...) libffi.so.8 => /usr/lib/x86_64-linux-gnu/libffi.so.8 (...)
$ ldd /tmp/canary/native/bin/dirmngr linux-vdso.so.1 (0x00007ffc6ad49000) libassuan.so.9 => /tmp/canary/native/bin/../lib/libassuan.so.9 (...) libksba.so.8 => /tmp/canary/native/bin/../lib/libksba.so.8 (...) libgpg-error.so.0 => /tmp/canary/native/bin/../lib/libgpg-error.so.0 (...) libnpth.so.0 => /tmp/canary/native/bin/../lib/libnpth.so.0 (...) libntbtls.so.0 => /tmp/canary/native/bin/../lib/libntbtls.so.0 (...) libgcrypt.so.20 => /tmp/canary/native/bin/../lib/libgcrypt.so.20 (...) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (...) /lib64/ld-linux-x86-64.so.2 (...)
We've got running software, but it can be improved. Setting up the environment and digging deeper into the compiling process will be the topic for another day.
To be continued...