I'm really so confused now, I clearly remember copy/pasting the file path from the error multiple times to confirm that the file it reported missing was not missing. I'm not sure what I missed. Anyway... changing the config file to point at the other kea libs directory solved the issue, thanks a ton!
> On 02/20/2026 9:18 AM CET duress via Kea-users <[email protected]> > wrote: > > > huh, yeah, you're right. > you know, I'd noticed that both paths were showing up, but I think i just > assumed one was a symlink to the other and didn't actually check... > > root@diorite:/usr/sbin# stat > /usr/local/lib/aarch64-linux-gnu/libkea-dhcpsrv.so.145 > File: /usr/local/lib/aarch64-linux-gnu/libkea-dhcpsrv.so.145 -> > libkea-dhcpsrv.so.145.0.0 > Size: 25 Blocks: 0 IO Block: 4096 symbolic link > Device: 179,2 Inode: 390224 Links: 1 > Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) > Access: 2026-02-19 06:19:39.372553824 -0800 > Modify: 2026-02-13 22:16:56.281120351 -0800 > Change: 2026-02-13 22:16:56.281120351 -0800 > Birth: 2026-02-13 22:16:56.281120351 -0800 > > > > On 02/20/2026 9:13 AM CET Razvan Becheriu <[email protected]> wrote: > > > > > > I think the issue is that there are 2 paths: > > > > /usr/local/lib/aarch64-linux-gnu/libkea-dhcpsrv.so > > > > and > > > > /usr/lib/aarch64-linux-gnu/libkea-dhcpsrv.so > > > > one exists and one does not > > > > kea seems to load the existing one but ha hook lib requires the other path. > > > > > > > > > > > --------------------------------------------- > > > From: Razvan <[email protected]> > > > To: Kea <[email protected]> > > > Date: Friday, 20 February 2026 10:09 AM EET > > > Subject: Re: [Kea-users] kea-dhcp4 service failing to start with 'cannot > > > open shared object file' > > > > > > I can't find the strace output attached. maybe the file is too large. > > > > > > can you share it using some other way? > > > > > > thx > > > > > > > > > > --------------------------------------------- > > > > From: Razvan <[email protected]> > > > > To: Kea <[email protected]> > > > > Date: Friday, 20 February 2026 10:08 AM EET > > > > Subject: Re: [Kea-users] kea-dhcp4 service failing to start with > > > > 'cannot open shared object file' > > > > > > > > > > > > is there a link named: > > > > > > > > /usr/lib/aarch64-linux-gnu/libkea-dhcpsrv.so.145 ? > > > > > > > > > > > > > > > > ls -la /usr/lib/aarch64-linux-gnu/ > > > > > > > > > > > > > > > > > --------------------------------------------- > > > > > From: Razvan <[email protected]> > > > > > To: Kea <[email protected]> > > > > > Date: Friday, 20 February 2026 10:00 AM EET > > > > > Subject: Re: [Kea-users] kea-dhcp4 service failing to start with > > > > > 'cannot open shared object file' > > > > > > > > > > > > > > > thank you for the output. will look into it. > > > > > > > > > > also attach the output of the ./kea-dhcp4 -W > > > > > > > > > > I am suspecting this is a compilation issue with no relocation > > > > > capabilities ..aka -fPIC for dynamic libs. > > > > > > > > > > Thank you > > > > > > > > > > > > > > > > > > > > > --------------------------------------------- > > > > > > From: duress <[email protected]> > > > > > > To: Kea <[email protected]> > > > > > > Cc: duress <[email protected]> > > > > > > Date: Friday, 20 February 2026 9:50 AM EET > > > > > > Subject: Re: [Kea-users] kea-dhcp4 service failing to start with > > > > > > 'cannot open shared object file' > > > > > > > > > > > > Output of strace -f attached. > > > > > > > > > > > > Regarding the reference to libkea-dhcpsrv.sp, my presumption has > > > > > > been that that file is mentioned because it is what's trying to > > > > > > load libdhcp_ha.so, but i can't say i know that for certain. > > > > > > ldd of libkea-dhcpsrv.so also reports no errors: > > > > > > > > > > > > root@diorite:/etc/kea# ldd > > > > > > /usr/lib/aarch64-linux-gnu/libkea-dhcpsrv.so > > > > > > linux-vdso.so.1 (0x0000ffffbf2cd000) > > > > > > libmysqlclient.so.21 => > > > > > > /lib/aarch64-linux-gnu/libmysqlclient.so.21 (0x0000ffffbe8c0000) > > > > > > libpq.so.5 => /lib/aarch64-linux-gnu/libpq.so.5 > > > > > > (0x0000ffffbe840000) > > > > > > libkea-process.so.57 => > > > > > > /lib/aarch64-linux-gnu/libkea-process.so.57 (0x0000ffffbe7e0000) > > > > > > libkea-eval.so.52 => > > > > > > /lib/aarch64-linux-gnu/libkea-eval.so.52 (0x0000ffffbe770000) > > > > > > libkea-dhcp_ddns.so.41 => > > > > > > /lib/aarch64-linux-gnu/libkea-dhcp_ddns.so.41 (0x0000ffffbe700000) > > > > > > libkea-stats.so.29 => > > > > > > /lib/aarch64-linux-gnu/libkea-stats.so.29 (0x0000ffffbe6c0000) > > > > > > libkea-dhcp++.so.74 => > > > > > > /lib/aarch64-linux-gnu/libkea-dhcp++.so.74 (0x0000ffffbe590000) > > > > > > libkea-hooks.so.78 => > > > > > > /lib/aarch64-linux-gnu/libkea-hooks.so.78 (0x0000ffffbe540000) > > > > > > libkea-mysql.so.53 => > > > > > > /lib/aarch64-linux-gnu/libkea-mysql.so.53 (0x0000ffffbe500000) > > > > > > libkea-pgsql.so.53 => > > > > > > /lib/aarch64-linux-gnu/libkea-pgsql.so.53 (0x0000ffffbe4b0000) > > > > > > libkea-database.so.48 => > > > > > > /lib/aarch64-linux-gnu/libkea-database.so.48 (0x0000ffffbe460000) > > > > > > libkea-cc.so.54 => /lib/aarch64-linux-gnu/libkea-cc.so.54 > > > > > > (0x0000ffffbe3f0000) > > > > > > libkea-asiolink.so.56 => > > > > > > /lib/aarch64-linux-gnu/libkea-asiolink.so.56 (0x0000ffffbe370000) > > > > > > libkea-cryptolink.so.38 => > > > > > > /lib/aarch64-linux-gnu/libkea-cryptolink.so.38 (0x0000ffffbe340000) > > > > > > libkea-log.so.48 => /lib/aarch64-linux-gnu/libkea-log.so.48 > > > > > > (0x0000ffffbe2f0000) > > > > > > libkea-util.so.68 => > > > > > > /lib/aarch64-linux-gnu/libkea-util.so.68 (0x0000ffffbe270000) > > > > > > libkea-exceptions.so.23 => > > > > > > /lib/aarch64-linux-gnu/libkea-exceptions.so.23 (0x0000ffffbe240000) > > > > > > libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 > > > > > > (0x0000ffffbdfb0000) > > > > > > libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 > > > > > > (0x0000ffffbddf0000) > > > > > > /lib/ld-linux-aarch64.so.1 (0x0000ffffbf280000) > > > > > > libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 > > > > > > (0x0000ffffbddb0000) > > > > > > libssl.so.3 => /lib/aarch64-linux-gnu/libssl.so.3 > > > > > > (0x0000ffffbdce0000) > > > > > > libcrypto.so.3 => /lib/aarch64-linux-gnu/libcrypto.so.3 > > > > > > (0x0000ffffbd860000) > > > > > > libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 > > > > > > (0x0000ffffbd830000) > > > > > > libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 > > > > > > (0x0000ffffbd7f0000) > > > > > > libzstd.so.1 => /lib/aarch64-linux-gnu/libzstd.so.1 > > > > > > (0x0000ffffbd730000) > > > > > > libgssapi_krb5.so.2 => > > > > > > /lib/aarch64-linux-gnu/libgssapi_krb5.so.2 (0x0000ffffbd6c0000) > > > > > > libldap.so.2 => /lib/aarch64-linux-gnu/libldap.so.2 > > > > > > (0x0000ffffbd640000) > > > > > > libkea-cfgclient.so.51 => > > > > > > /lib/aarch64-linux-gnu/libkea-cfgclient.so.51 (0x0000ffffbd5d0000) > > > > > > libkea-dns++.so.42 => > > > > > > /lib/aarch64-linux-gnu/libkea-dns++.so.42 (0x0000ffffbd4c0000) > > > > > > liblog4cplus-2.0.so.3 => > > > > > > /lib/aarch64-linux-gnu/liblog4cplus-2.0.so.3 (0x0000ffffbd420000) > > > > > > libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 > > > > > > (0x0000ffffbd370000) > > > > > > libkrb5.so.3 => /lib/aarch64-linux-gnu/libkrb5.so.3 > > > > > > (0x0000ffffbd290000) > > > > > > libk5crypto.so.3 => /lib/aarch64-linux-gnu/libk5crypto.so.3 > > > > > > (0x0000ffffbd240000) > > > > > > libcom_err.so.2 => /lib/aarch64-linux-gnu/libcom_err.so.2 > > > > > > (0x0000ffffbd210000) > > > > > > libkrb5support.so.0 => > > > > > > /lib/aarch64-linux-gnu/libkrb5support.so.0 (0x0000ffffbd1e0000) > > > > > > liblber.so.2 => /lib/aarch64-linux-gnu/liblber.so.2 > > > > > > (0x0000ffffbd1b0000) > > > > > > libsasl2.so.2 => /lib/aarch64-linux-gnu/libsasl2.so.2 > > > > > > (0x0000ffffbd170000) > > > > > > libgnutls.so.30 => /lib/aarch64-linux-gnu/libgnutls.so.30 > > > > > > (0x0000ffffbcf50000) > > > > > > libkea-http.so.56 => > > > > > > /lib/aarch64-linux-gnu/libkea-http.so.56 (0x0000ffffbce50000) > > > > > > libkeyutils.so.1 => /lib/aarch64-linux-gnu/libkeyutils.so.1 > > > > > > (0x0000ffffbce20000) > > > > > > libp11-kit.so.0 => /lib/aarch64-linux-gnu/libp11-kit.so.0 > > > > > > (0x0000ffffbcc50000) > > > > > > libidn2.so.0 => /lib/aarch64-linux-gnu/libidn2.so.0 > > > > > > (0x0000ffffbcc10000) > > > > > > libunistring.so.5 => > > > > > > /lib/aarch64-linux-gnu/libunistring.so.5 (0x0000ffffbca40000) > > > > > > libtasn1.so.6 => /lib/aarch64-linux-gnu/libtasn1.so.6 > > > > > > (0x0000ffffbca00000) > > > > > > libnettle.so.8 => /lib/aarch64-linux-gnu/libnettle.so.8 > > > > > > (0x0000ffffbc990000) > > > > > > libhogweed.so.6 => /lib/aarch64-linux-gnu/libhogweed.so.6 > > > > > > (0x0000ffffbc920000) > > > > > > libgmp.so.10 => /lib/aarch64-linux-gnu/libgmp.so.10 > > > > > > (0x0000ffffbc880000) > > > > > > libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 > > > > > > (0x0000ffffbc850000) > > > > > > > > > > > > > On 02/20/2026 8:31 AM CET Razvan Becheriu <[email protected]> wrote: > > > > > > > > > > > > > > > > > > > > > please run stract -f -o outout ./kea-dhcp4 -c ... and attach the > > > > > > > output. > > > > > > > > > > > > > > (no filter on paths)Thank you, > > > > > > > > > > > > > > Razvan > > > > > > > > > > > > > > > --------------------------------------------- > > > > > > > > From: Razvan <[email protected]> > > > > > > > > To: Kea <[email protected]> > > > > > > > > Date: Friday, 20 February 2026 9:27 AM EET > > > > > > > > Subject: Re: [Kea-users] kea-dhcp4 service failing to start > > > > > > > > with 'cannot open shared object file' > > > > > > > > > > > > > > > > what is this: > > > > > > > > > > > > > > > > HOOKS_OPEN_ERROR failed to open hook library libdhcp_ha.so: > > > > > > > > libkea-dhcpsrv.so.14 > > > > > > > > > > > > > > > > why does it mention libkea-dhcpsrv.so ? > > > > > > > > > > > > > > > > ldd on this lib then > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------- > > > > > > > > > From: duress <[email protected]> > > > > > > > > > To: Kea <[email protected]> > > > > > > > > > Cc: duress <[email protected]> > > > > > > > > > Date: Friday, 20 February 2026 9:18 AM EET > > > > > > > > > Subject: Re: [Kea-users] kea-dhcp4 service failing to start > > > > > > > > > with 'cannot open shared object file' > > > > > > > > > > > > > > > > > > I tried truncating the library path value to just the file > > > > > > > > > base name: > > > > > > > > > <...> "library": "libdhcp_ha.so", <...> > > > > > > > > > the changed path value was reflected in the error message I > > > > > > > > > got after starting the service again, but it didn't seem to > > > > > > > > > improve the issue at all: > > > > > > > > > Feb 19 23:08:23 diorite kea-dhcp4[4551]: ERROR > > > > > > > > > HOOKS_OPEN_ERROR failed to open hook library libdhcp_ha.so: > > > > > > > > > libkea-dhcpsrv.so.145: cannot open shared object file: No > > > > > > > > > such file or directory > > > > > > > > > > > > > > > > > > > > > > > > > > > I don't see any issues loading dependencies for > > > > > > > > > libdhcp_ha.so, and there's an error as expected for the > > > > > > > > > nonexistent file. > > > > > > > > > > > > > > > > > > root@diorite:/etc/kea# ldd > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_ha.so > > > > > > > > > linux-vdso.so.1 (0x0000ffff83b55000) > > > > > > > > > libkea-dhcpsrv.so.145 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-dhcpsrv.so.145 > > > > > > > > > (0x0000ffff83650000) > > > > > > > > > libkea-process.so.104 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-process.so.104 > > > > > > > > > (0x0000ffff835e0000) > > > > > > > > > libkea-stats.so.64 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-stats.so.64 > > > > > > > > > (0x0000ffff83590000) > > > > > > > > > libkea-config.so.96 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-config.so.96 > > > > > > > > > (0x0000ffff834f0000) > > > > > > > > > libkea-http.so.99 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-http.so.99 > > > > > > > > > (0x0000ffff833a0000) > > > > > > > > > libkea-dhcp.so.124 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-dhcp.so.124 > > > > > > > > > (0x0000ffff831f0000) > > > > > > > > > libkea-hooks.so.134 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-hooks.so.134 > > > > > > > > > (0x0000ffff83190000) > > > > > > > > > libkea-cc.so.95 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-cc.so.95 > > > > > > > > > (0x0000ffff83110000) > > > > > > > > > libkea-asiolink.so.102 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-asiolink.so.102 > > > > > > > > > (0x0000ffff83070000) > > > > > > > > > libkea-log.so.86 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-log.so.86 > > > > > > > > > (0x0000ffff83020000) > > > > > > > > > libkea-util.so.116 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-util.so.116 > > > > > > > > > (0x0000ffff82f80000) > > > > > > > > > libkea-exceptions.so.55 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-exceptions.so.55 > > > > > > > > > (0x0000ffff82f50000) > > > > > > > > > libcrypto.so.3 => > > > > > > > > > /lib/aarch64-linux-gnu/libcrypto.so.3 (0x0000ffff82ad0000) > > > > > > > > > libstdc++.so.6 => > > > > > > > > > /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff82840000) > > > > > > > > > libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 > > > > > > > > > (0x0000ffff82800000) > > > > > > > > > libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 > > > > > > > > > (0x0000ffff82640000) > > > > > > > > > /lib/ld-linux-aarch64.so.1 (0x0000ffff83b10000) > > > > > > > > > libkea-eval.so.97 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-eval.so.97 > > > > > > > > > (0x0000ffff82590000) > > > > > > > > > libkea-dhcp_ddns.so.79 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-dhcp_ddns.so.79 > > > > > > > > > (0x0000ffff82510000) > > > > > > > > > libkea-database.so.87 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-database.so.87 > > > > > > > > > (0x0000ffff824c0000) > > > > > > > > > libkea-cryptolink.so.75 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-cryptolink.so.75 > > > > > > > > > (0x0000ffff82490000) > > > > > > > > > libkea-cfgrpt.so.3 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-cfgrpt.so.3 > > > > > > > > > (0x0000ffff82460000) > > > > > > > > > libssl.so.3 => /lib/aarch64-linux-gnu/libssl.so.3 > > > > > > > > > (0x0000ffff82390000) > > > > > > > > > libkea-dns.so.83 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-dns.so.83 > > > > > > > > > (0x0000ffff822a0000) > > > > > > > > > libkea-log-interprocess.so.4 => > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/libkea-log-interprocess.so.4 > > > > > > > > > (0x0000ffff82270000) > > > > > > > > > liblog4cplus-2.0.so.3 => > > > > > > > > > /lib/aarch64-linux-gnu/liblog4cplus-2.0.so.3 > > > > > > > > > (0x0000ffff821d0000) > > > > > > > > > libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 > > > > > > > > > (0x0000ffff82120000) > > > > > > > > > > > > > > > > > > root@diorite:/etc/kea# ldd > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_nosuchfile.so > > > > > > > > > ldd: > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_nosuchfile.so: > > > > > > > > > No such file or directory > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 02/20/2026 6:44 AM CET Razvan Becheriu <[email protected]> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > can you run: > > > > > > > > > > > > > > > > > > > > ldd > > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_nosuchfile.so > > > > > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > ldd /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_ha.so > > > > > > > > > > > > > > > > > > > > check that all dependencies can be resolved. > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > Razvan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------- > > > > > > > > > > > From: Razvan <[email protected]> > > > > > > > > > > > To: Kea <[email protected]> > > > > > > > > > > > Date: Friday, 20 February 2026 7:37 AM EET > > > > > > > > > > > Subject: Re: [Kea-users] kea-dhcp4 service failing to > > > > > > > > > > > start with 'cannot open shared object file' > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > > > > > Kea can load hook libraries from default path just by > > > > > > > > > > > specifying the hook name: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > "library": "libdhcp_nosuchfile.so" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You can try this and see if it is any different. > > > > > > > > > > > I'll try to replicate the issue using my rpi. Will let > > > > > > > > > > > you know how it goes. > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > Razvan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------- > > > > > > > > > > > > From: Andrew <[email protected]> > > > > > > > > > > > > To: kea-users <[email protected]> > > > > > > > > > > > > Cc: Andrew <[email protected]> > > > > > > > > > > > > Date: Friday, 20 February 2026 12:34 AM EET > > > > > > > > > > > > Subject: [Kea-users] kea-dhcp4 service failing to start > > > > > > > > > > > > with 'cannot open shared object file' > > > > > > > > > > > > > > > > > > > > > > > > Hi, I'm trying to set up a hot-standby redundant dhcp > > > > > > > > > > > > server for my home network and I'm having a real > > > > > > > > > > > > struggle trying to get the kea-dhcp4 daemon to find and > > > > > > > > > > > > load the libdhcp_ha.so library hook so that it can run > > > > > > > > > > > > in HA mode. > > > > > > > > > > > > It's working great when I don't ask it to load the HA > > > > > > > > > > > > library hook, but I'm not having any luck with loading > > > > > > > > > > > > the .so. When I try to start the official > > > > > > > > > > > > ubuntu-package-provided kea-dhcp4-server systemd > > > > > > > > > > > > service, it reports the following: > > > > > > > > > > > > ERROR HOOKS_OPEN_ERROR failed to open hook library > > > > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_nosuchfile.so: > > > > > > > > > > > > > > > > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_nosuchfile.so: > > > > > > > > > > > > cannot open shared object file: No such file or > > > > > > > > > > > > directory > > > > > > > > > > > > > > > > > > > > > > > > I believe the issue being reported by the service in my > > > > > > > > > > > > system logs is actually something other than a failed > > > > > > > > > > > > read operation on the listed path, and I can explain my > > > > > > > > > > > > reasoning for drawing this conclusion. > > > > > > > > > > > > I am hoping someone with the patience to read all this > > > > > > > > > > > > can suggest something I should try that I haven't > > > > > > > > > > > > thought of yet, or point out an error that I've made, > > > > > > > > > > > > that will help me get my HA pair online! thanks in > > > > > > > > > > > > advance for your attention. > > > > > > > > > > > > > > > > > > > > > > > > Here's a list of the things I have tried so far to fix > > > > > > > > > > > > this issue in approximate chronological order: > > > > > > > > > > > > * I manually confirmed that the file exists, by copying > > > > > > > > > > > > the full file name and path directly from the error > > > > > > > > > > > > message and pasting it into the terminal. the file > > > > > > > > > > > > exists. > > > > > > > > > > > > > > > > > > > > > > > > * checked the unix file permissions on the .so itself > > > > > > > > > > > > (at > > > > > > > > > > > > /usr/local/lib/aarch64-linux-gnu/kea/hooks/libdhcp_sh.so), > > > > > > > > > > > > and also of each directory in that file path all the > > > > > > > > > > > > way down to /usr. > > > > > > > > > > > > all have mode o+r set, and I have confirmed that I can > > > > > > > > > > > > read the contents of the file from a shell running as > > > > > > > > > > > > the kea user (_kea on my system). it is not a file > > > > > > > > > > > > permissions error. > > > > > > > > > > > > > > > > > > > > > > > > * checked for enhanced access control subsystems. > > > > > > > > > > > > selinux is not installed on this server. apparmor is > > > > > > > > > > > > installed, and when I checked my kernel log I found > > > > > > > > > > > > that apparmor was reporting some blocked access to the > > > > > > > > > > > > library hook file in question. > > > > > > > > > > > > I addressed these by updating the apparmor profile for > > > > > > > > > > > > /usr/sbin/kea-dhcp4, which required adding explicit > > > > > > > > > > > > permits for the r and m masks. > > > > > > > > > > > > I made these changes by hand at first, then reset and > > > > > > > > > > > > used the aa-genprof tool from the official > > > > > > > > > > > > apparmor-utils package which generated the same set of > > > > > > > > > > > > changes I had applied by hand. These changes fixed the > > > > > > > > > > > > apparmor permissions conflict that was reported in my > > > > > > > > > > > > kernel log. > > > > > > > > > > > > I confirmed that apparmor was no longer responsible for > > > > > > > > > > > > blocking access to the file by shutting off apparmor > > > > > > > > > > > > protections system-wide, which did not fix the issue. > > > > > > > > > > > > > > > > > > > > > > > > * I copied the target .so file to a new directory under > > > > > > > > > > > > /etc/kea/lib/, and updated the service configs and the > > > > > > > > > > > > apparmor profile to point at this new file location. > > > > > > > > > > > > The service continued to report that it cannot open the > > > > > > > > > > > > file because it does not exist, this time naming the > > > > > > > > > > > > new path under /etc/kea/lib/. I again copy-pasted the > > > > > > > > > > > > path from the error message to ensure I hadn't made any > > > > > > > > > > > > errors in my typing. > > > > > > > > > > > > This didn't produce any positive results, so I reverted > > > > > > > > > > > > the configs to point to the default path to avoid > > > > > > > > > > > > unnecessary complication in further debugging. > > > > > > > > > > > > > > > > > > > > > > > > * I found the presented troubleshooting advice in the > > > > > > > > > > > > official kea-dhcp4-server install guide from ISC, which > > > > > > > > > > > > indicates that in cases exactly like the one I was > > > > > > > > > > > > dealing with, one should run ldconfig with root > > > > > > > > > > > > permissions to update the linker cache. I did this. > > > > > > > > > > > > I checked that the directory path containing the > > > > > > > > > > > > library was listed in a file under /etc/ld.so.conf.d/. > > > > > > > > > > > > I checked that /etc/ld.so.conf.d/ was correctly > > > > > > > > > > > > included in /etc/ld.so.conf. I ran ldconfig again as > > > > > > > > > > > > root while explicitly passing the directory immediately > > > > > > > > > > > > containing the .do file. > > > > > > > > > > > > I ran ldconfig -p | grep to confirm that the desired > > > > > > > > > > > > shared object file was present in the cache, and that > > > > > > > > > > > > it was indexed at the expected file path, which it was. > > > > > > > > > > > > Out of pure superstition, I even rebooted the server > > > > > > > > > > > > and checked again -- still present in the cache at the > > > > > > > > > > > > correct path. > > > > > > > > > > > > > > > > > > > > > > > > * I opened the systemd service unit file to look for > > > > > > > > > > > > clues about any restricted filesystem access, system > > > > > > > > > > > > call capabilities, or anything else of this nature. I > > > > > > > > > > > > didn't find any in the unit file for this service. > > > > > > > > > > > > > > > > > > > > > > > > * I explicitly added > > > > > > > > > > > > LD_LIBRARY_PATH=/usr/local/lib/aarch64-linux-gnu/kea/hooks > > > > > > > > > > > > to the service's environment variables exposed by > > > > > > > > > > > > systemd, then reloaded the systemd daemon to read the > > > > > > > > > > > > unit file changes. no help. > > > > > > > > > > > > > > > > > > > > > > > > * I inserted strace into the unit file exec line to > > > > > > > > > > > > report any system calls related to the target file, > > > > > > > > > > > > reloaded the systemd daemon, and attempted to start the > > > > > > > > > > > > service again. > > > > > > > > > > > > For comparison, I edited the service config at > > > > > > > > > > > > /etc/kea/kea-dhcp4.conf and the strace invocation in > > > > > > > > > > > > the service unit file to look for a known-bogus .so > > > > > > > > > > > > file in the same directory, reloaded the daemon again, > > > > > > > > > > > > and started the service again. > > > > > > > > > > > > Comparing the strace output from the two calls, there > > > > > > > > > > > > is a clear difference between the system calls and > > > > > > > > > > > > results reported by strace. In the output from the > > > > > > > > > > > > service start with a known-bad file path, strace > > > > > > > > > > > > reports a single openat() system call to the expected > > > > > > > > > > > > file, which as expected returns -1 with errno ENOENT. > > > > > > > > > > > > By comparison, the strace output from the service start > > > > > > > > > > > > with configs pointing to the real .so file which should > > > > > > > > > > > > be accessible to the service shows 6 system calls > > > > > > > > > > > > related to the .so file in question: openat(), read(), > > > > > > > > > > > > fstat(), mmap(), mmap(), close(). none of these system > > > > > > > > > > > > calls are shown to have errored with an associated > > > > > > > > > > > > errno code, or to have returned with a negative value. > > > > > > > > > > > > At this point I'm not really sure where to go, I am > > > > > > > > > > > > intimidated by the prospect of trying to dive into the > > > > > > > > > > > > kea-dhcp codebase and figure out what is reporting an > > > > > > > > > > > > ENOENT-related error message when there (seemingly, to > > > > > > > > > > > > my eyes) doesn't seem to be any such error occurring. > > > > > > > > > > > > > > > > > > > > > > > > I am using binaries and config files as provided from > > > > > > > > > > > > the Ubuntu repos (24.04, arm64), running on a raspberry > > > > > > > > > > > > pi 5, unmodified except as mentioned above and for > > > > > > > > > > > > miscellaneous config changes to /etc/kea/kea-dhcp4.conf > > > > > > > > > > > > to suit the needs of my network. > > > > > > > > > > > > > > > > > > > > > > > > The debian packages I'm using are as follows: > > > > > > > > > > > > ii kea-admin > > > > > > > > > > > > 2.4.1-3ubuntu0.1 arm64 > > > > > > > > > > > > Administration utilities for Kea DHCP server > > > > > > > > > > > > ii kea-common > > > > > > > > > > > > 2.4.1-3ubuntu0.1 arm64 > > > > > > > > > > > > Common libraries for the Kea DHCP server > > > > > > > > > > > > ii kea-dev > > > > > > > > > > > > 2.4.1-3ubuntu0.1 arm64 > > > > > > > > > > > > Development headers for Kea DHCP server > > > > > > > > > > > > ii kea-dhcp4-server > > > > > > > > > > > > 2.4.1-3ubuntu0.1 arm64 > > > > > > > > > > > > IPv4 DHCP server > > > > > > > > > > > > > > > > > > > > > > > > The kea version number reported by the binary that > > > > > > > > > > > > shipped with the above packages is 3.1.5 > > > > > > > > > > > > > > > > > > > > > > > > I am putting a copy of some relevant terminal buffers > > > > > > > > > > > > and config files up on my public webserver for > > > > > > > > > > > > reference, links to follow: > > > > > > > > > > > > > > > > > > > > > > > > (config files doctored to target a nonexistent > > > > > > > > > > > > libdhcp_nosuchfile.so) > > > > > > > > > > > > https://pdxlents.online/kea-dhcp4.conf.bad_configs.txt > > > > > > > > > > > > https://pdxlents.online/systemd_unit_file.bad_configs.txt > > > > > > > > > > > > https://pdxlents.online/terminal_log.bad_configs.txt > > > > > > > > > > > > > > > > > > > > > > > > (config files targeting an actually existing > > > > > > > > > > > > libdhcp_ha.so) > > > > > > > > > > > > https://pdxlents.online/kea-dhcp4.conf.good_configs.txt > > > > > > > > > > > > https://pdxlents.online/terminal_log.good_configs.txt > > > > > > > > > > > > https://pdxlents.online/systemd_unit_file.good_configs.txt > > > > > > > > > > > > > > > > > > > > > > > > (version output from my server binary) > > > > > > > > > > > > https://pdxlents.online/kea-dhcp4_-V.txt > > > > > > > > > > > > > > > > > > > > > > > > Thanks again for reading, and for any advice or > > > > > > > > > > > > suggestions! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > ISC funds the development of this software with paid > > > > > > > > > > support subscriptions. Contact us at > > > > > > > > > > https://www.isc.org/contact/ for more information. > > > > > > > > > > > > > > > > > > > > To unsubscribe visit > > > > > > > > > > https://lists.isc.org/mailman/listinfo/kea-users. > > > > > > > > > > [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > ISC funds the development of this software with paid support > > > > > > > subscriptions. Contact us at https://www.isc.org/contact/ for > > > > > > > more information. > > > > > > > > > > > > > > To unsubscribe visit > > > > > > > https://lists.isc.org/mailman/listinfo/kea-users. > > > > > > > [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > ISC funds the development of this software with paid support subscriptions. > > Contact us at https://www.isc.org/contact/ for more information. > > > > To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. > > [email protected] > > > -- > ISC funds the development of this software with paid support subscriptions. > Contact us at https://www.isc.org/contact/ for more information. > > To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. > [email protected] >
-- ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information. To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users. [email protected]
