[Pkg-freeradius-maintainers] Bug#911909: freeradius: Failed to link to module 'rlm_dhcp': libfreeradius-dhcp.so: cannot open shared object file: No such file or directory

Thore Kruess thore at selfnet.de
Fri Oct 26 04:11:16 BST 2018


Package: freeradius
Version: 3.0.16+dfsg-4.1+b1
Severity: grave
Justification: renders package unusable

After the latest update the freeradius dhcp-module is broken - this
shows as it is unable to link rlm_dhcp.

The error message I get is:
/etc/freeradius/3.0/mods-enabled/dhcp[18]: Failed to link to module 'rlm_dhcp': libfreeradius-dhcp.so: cannot open shared object file: No such file or directory

The file exists though:
$ find /usr | grep "libfreeradius-dhcp.so"
/usr/lib/freeradius/libfreeradius-dhcp.so

State of freeradius-dhcp
C   freeradius-dhcp        3.0.16+dfsg-4.1+b1  
I tried to reinstall the package which caused it to be marked as broken
since the reconfigure failed.

When stracing the freeradius process you can see it trying to find the
library in various places but never in /usr/lib/freeradius. I've
attached that part from strace below.


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.18.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages freeradius depends on:
ii  freeradius-common  3.0.16+dfsg-4.1
ii  freeradius-config  3.0.16+dfsg-4.1+b1
ii  libc6              2.27-6
ii  libcap2            1:2.25-1.2
ii  libct4             1.00.104-1
ii  libfreeradius3     3.0.16+dfsg-4.1+b1
ii  libgdbm6           1.18-2
ii  libpam0g           1.1.8-3.8
ii  libpcre3           2:8.39-11
ii  libperl5.26        5.26.2-7+b1
ii  libreadline7       7.0-5
ii  libsqlite3-0       3.25.2-1
ii  libssl1.1          1.1.0h-4
ii  libtalloc2         2.1.14-1
ii  libwbclient0       2:4.8.5+dfsg-1
ii  lsb-base           9.20170808

Versions of packages freeradius recommends:
ii  freeradius-utils  3.0.16+dfsg-4.1+b1

Versions of packages freeradius suggests:
pn  freeradius-krb5        <none>
pn  freeradius-ldap        <none>
pn  freeradius-mysql       <none>
ih  freeradius-postgresql  3.0.16+dfsg-4.1+b1
ih  freeradius-python2     3.0.16+dfsg-4.1+b1
pn  snmp                   <none>

-- no debconf information


$ strace freeradius -X
...
openat(AT_FDCWD, "/usr/lib/freeradius/rlm_dhcp.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14344, ...}) = 0
mmap(NULL, 16568, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0fa9a27000
mmap(0x7f0fa9a28000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f0fa9a28000
mmap(0x7f0fa9a29000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f0fa9a29000
mmap(0x7f0fa9a2a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f0fa9a2a000
close(3)                                = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=32946, ...}) = 0
mmap(NULL, 32946, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0fa9a1e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/tls/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/tls/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=32768, ...}) = 0
openat(AT_FDCWD, "/lib/tls/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/tls/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/tls", 0x7ffc7f541670)        = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64", 0x7ffc7f541670)     = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64", 0x7ffc7f541670)     = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/usr/lib/tls/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls", 0x7ffc7f541670)    = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64", 0x7ffc7f541670) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
munmap(0x7f0fa9a1e000, 32946)           = 0
munmap(0x7f0fa9a27000, 16568)           = 0
openat(AT_FDCWD, "/usr/lib/freeradius/rlm_dhcp.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14344, ...}) = 0
mmap(NULL, 16568, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0fa9a27000
mmap(0x7f0fa9a28000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f0fa9a28000
mmap(0x7f0fa9a29000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f0fa9a29000
mmap(0x7f0fa9a2a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f0fa9a2a000
close(3)                                = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=32946, ...}) = 0
mmap(NULL, 32946, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0fa9a1e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libfreeradius-dhcp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
munmap(0x7f0fa9a1e000, 32946)           = 0
munmap(0x7f0fa9a27000, 16568)           = 0
write(1, "\33[31m/etc/freeradius/3.0/mods-en"..., 171/etc/freeradius/3.0/mods-enabled/dhcp[18]: Failed to link to module 'rlm_dhcp': libfreeradius-dhcp.so: cannot open shared object file: No such file or directory



More information about the Pkg-freeradius-maintainers mailing list