Development version of BIND 9 - 9.21.10 with meson build system

Havard Eidnes he at uninett.no
Thu Sep 25 10:09:48 UTC 2025


An update after finally having installed BIND 9.21.10 in
/usr/local on this host:

$ dig xxxxxx.no. ns
dig: Undefined PLT symbol "isc__lib_initialize" (symnum = 12)
$ type dig
dig is a tracked alias for /usr/local/bin/dig
$ ldd /usr/local/bin/dig
ldd: /usr/local/bin/dig: invalid ELF class 2; expected 1
$ file /usr/local/bin/dig
/usr/local/bin/dig: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/libexec/ld.elf_so, for NetBSD 10.1, with debug_info, not stripped
$ readelf -a /usr/local/bin/dig | less

reveals among other things:

Dynamic section at offset 0x408600 contains 33 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libdns.so]
 0x0000000000000001 (NEEDED)             Shared library: [libisc.so]
 0x0000000000000001 (NEEDED)             Shared library: [libisccfg.so]
 0x0000000000000001 (NEEDED)             Shared library: [libidn2.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.12]
 0x000000000000000f (RPATH)              Library rpath: [$ORIGIN/:/usr/pkg/lib]

Surely that RPATH is wrong, the first component should have been
"$ORIGIN/../lib/", no?

So instead ld.elf_so doesn't find the above mentioned shared
libraries in /usr/local/lib, but instead is picking up the shared
libraries for BIND 9.20.13 which I have installed in the /usr/pkg
prefix, and hilarity ensues as above.

Why ldd refuses to have anything to do with the "dig" binary is
possibly a separate issue, and I do not know the answer to that
right now.  That goes back to finding out what exactly did the
build process do to link this program to cause that effect?

Hints on where to look appreciated.  (I hate debugging these sort
of problems using system call tracing...)

The build log itself just says

[320/348] Linking target dig

and the install action is just logged as

Installing dig to /usr/local/bin

It's as if the new build system tries Really Hard to keep all the
cards it holds hidden from anyone else trying to figure out what
it has *actually* done.

Regards,

- Håvard


More information about the bind-users mailing list