NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

BIND 9.21.21: Problem with dynamic libraries on NetBSD



Hi!

Is anyone else experimenting with BIND 9.21.21 on amd64?

This could be a NetBSD problem rather than a BIND problem, but I only
have problems with BIND. It's either a problem with BIND or its building
process, or it's a problem with NetBSD triggered only by BIND or its
building process. Or, of course, the more likely option: its a problem
with yours truly and his perception of what's going on. :-)

BIND version: 9.21.21
NetBSD version: 10.1

After having straightened out the dependencies, BIND builds nice enough,
except for two warnings from ninja:

[334/371] Linking target dig
lto-wrapper: warning: using serial compilation of 2 LTRANS jobs
[352/371] Linking target nslookup
lto-wrapper: warning: using serial compilation of 2 LTRANS jobs

but, trying to run the utilities yields:

% pwd
/usr/local/src/bind/bind-9.21.21/build

% printenv LD_LIBRARY_PATH
/usr/local/src/bind/bind-9.21.21/build

% ls -l libdns-9.21.21.so
-rwxr-xr-x  1 liman  wheel  10749144 Apr 19 10:26 libdns-9.21.21.so

% ./tsig-keygen
./tsig-keygen: Shared object "libdns-9.21.21.so" not found

The named binary itself is OK, because named doesn't need
libdns-9.21.21.so.

% ./named -v
BIND 9.21.21 (Development Release) <id:ec2e1ce>

The problem seems to be that ld.elf_so is unhappy with
libdns-9.21.21.so. It finds the file, does mmap() of it, but then
immediately does an munmap() and goes looking for better fish.

  6002   6002 tsig-keygen open("/usr/local/src/bind/bind-9.21.21/build/.//libdns-9.21.21.so", 0, 0x3) = 3
  6002   6002 tsig-keygen __fstat50(0x3, 0x7f7fffb27d38) = 0
  6002   6002 tsig-keygen mmap(0, 0x1000, 0x1, 0x1, 0x3, 0, 0) = 0x7902210f1000
  6002   6002 tsig-keygen munmap(0x7902210f1000, 0x1000) = 0
  6002   6002 tsig-keygen close(0x3)               = 0
  6002   6002 tsig-keygen open("/usr/pkg/lib/libdns-9.21.21.so", 0, 0x6) Err#2 ENOENT
  6002   6002 tsig-keygen open("/usr/lib/libdns-9.21.21.so", 0, 0x2) Err#2 ENOENT
  6002   6002 tsig-keygen write(0x2, 0x7f7fffb283d8, 0x3a) = 58
       "./tsig-keygen: Shared object "libdns-9.21.21.so" not found"

This is interesting too:

% ldd named tsig-keygen
ldd: /usr/local/src/bind/bind-9.21.21/build/named: invalid ELF class 2; expected 1
ldd: /usr/local/src/bind/bind-9.21.21/build/tsig-keygen: invalid ELF class 2; expected 1

... which Google tells me can be due to an arch mismatch (32/64-bit),
but other tools tell me that that's not the case:

% file named tsig-keygen libdns-9.21.21.so
named:             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
tsig-keygen:       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
libdns-9.21.21.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, for NetBSD 10.1, with debug_info, not stripped

... and load-linking named obviously works (see above).

Has anyone figured out what's going on, and possibly found a
fix/workaround (like a scheme for compiling BIND 9.21.21 that differs
from mine)? (Instructions to RTFM will be gracefully heeded, if useful
pointers are provided. ;-) )

				Cheers,
				  /Liman
-- 
#-------------------------------------------------------------------------
# Lars-Johan Liman, M.Sc.		 ! E-mail: liman%cafax.se@localhost
# Cafax AB				 ! https://www.cafax.se/
# Computer Consultants, Sweden		 ! Voice : +46 8 - 564 702 30
#-------------------------------------------------------------------------


Home | Main Index | Thread Index | Old Index