Closed tgurr closed 2 months ago
Just for the record:
working (ldb-2.9.1/sssd-2.9.5) sssd.log: [sssd] [ldb] (0x0010): WARNING: Module [memberof] not found - do you need to set LDB_MODULES_PATH?
-- this also looks "broken".
Is memberof.so
installed on your system?
Typical path, depending on your OS, could be /usr/lib64/ldb/modules/ldb/memberof.so
Is
memberof.so
installed on your system?Typical path, depending on your OS, could be
/usr/lib64/ldb/modules/ldb/memberof.so
I have /usr/x86_64-pc-linux-gnu/lib/ldb/memberof.so
which got installed by sssd:
# cave owner /usr/x86_64-pc-linux-gnu/lib/ldb/memberof.so
sys-auth/sssd-2.9.5-r1::installed
With samba-4.21.0
I have just:
# ls -la /usr/x86_64-pc-linux-gnu/lib | grep ldb
drwxr-xr-x 2 root root 4096 6. Sep 13:56 ldb
lrwxrwxrwx 1 root root 16 6. Sep 13:55 libldb.so -> libldb.so.2.10.0
lrwxrwxrwx 1 root root 16 6. Sep 13:55 libldb.so.2 -> libldb.so.2.10.0
-rwxr-xr-x 1 root root 227496 6. Sep 13:55 libldb.so.2.10.0
# ls -la /usr/x86_64-pc-linux-gnu/lib/ldb
insgesamt 244
drwxr-xr-x 2 root root 4096 6. Sep 13:56 .
drwxr-xr-x 88 root root 172032 6. Sep 14:17 ..
-rwxr-xr-x 1 root root 68888 6. Sep 13:56 memberof.so
While with ldb-2.9.1
I have:
# ls -la /usr/x86_64-pc-linux-gnu/lib | grep ldb
drwxr-xr-x 2 root root 4096 5. Sep 17:31 ldb
lrwxrwxrwx 1 root root 15 5. Sep 17:30 libldb.so -> libldb.so.2.9.1
lrwxrwxrwx 1 root root 15 5. Sep 17:30 libldb.so.2 -> libldb.so.2.9.1
-rwxr-xr-x 1 root root 225488 5. Sep 17:30 libldb.so.2.9.1
lrwxrwxrwx 1 root root 51 5. Sep 17:30 libpyldb-util.cpython-312-x86-64-linux-gnu.so -> libpyldb-util.cpython-312-x86-64-linux-gnu.so.2.9.1
lrwxrwxrwx 1 root root 51 5. Sep 17:30 libpyldb-util.cpython-312-x86-64-linux-gnu.so.2 -> libpyldb-util.cpython-312-x86-64-linux-gnu.so.2.9.1
-rwxr-xr-x 1 root root 22768 5. Sep 17:30 libpyldb-util.cpython-312-x86-64-linux-gnu.so.2.9.1
# ls -la /usr/x86_64-pc-linux-gnu/lib/ldb
insgesamt 700
drwxr-xr-x 2 root root 4096 5. Sep 17:31 .
drwxr-xr-x 187 root root 307200 6. Sep 14:33 ..
-rwxr-xr-x 1 root root 14728 5. Sep 17:30 asq.so
-rwxr-xr-x 1 root root 23280 5. Sep 17:30 ldap.so
-rwxr-xr-x 1 root root 14488 5. Sep 17:30 ldb.so
-rwxr-xr-x 1 root root 28392 5. Sep 17:30 libldb-cmdline.so
-rwxr-xr-x 1 root root 89496 5. Sep 17:30 libldb-key-value.so
-rwxr-xr-x 1 root root 14472 5. Sep 17:30 libldb-tdb-err-map.so
-rwxr-xr-x 1 root root 23136 5. Sep 17:30 libldb-tdb-int.so
-rwxr-xr-x 1 root root 68888 5. Sep 17:31 memberof.so
-rwxr-xr-x 1 root root 18888 5. Sep 17:30 paged_searches.so
-rwxr-xr-x 1 root root 22992 5. Sep 17:30 rdn_name.so
-rwxr-xr-x 1 root root 14720 5. Sep 17:30 sample.so
-rwxr-xr-x 1 root root 18840 5. Sep 17:30 server_sort.so
-rwxr-xr-x 1 root root 14640 5. Sep 17:30 skel.so
-rwxr-xr-x 1 root root 14456 5. Sep 17:30 tdb.so
Ah just found the missing ones with samba-4.21.0 at:
/usr/x86_64-pc-linux-gnu/lib/samba/ldb/
insgesamt 228
drwxr-xr-x 2 root root 4096 6. Sep 13:55 .
drwxr-xr-x 7 root root 12288 6. Sep 13:55 ..
-rwxr-xr-x 1 root root 14440 6. Sep 13:55 asq.so
-rwxr-xr-x 1 root root 26728 6. Sep 13:55 ildap.so
-rwxr-xr-x 1 root root 22632 6. Sep 13:55 ldap.so
-rwxr-xr-x 1 root root 18456 6. Sep 13:55 ldbsamba_extensions.so
-rwxr-xr-x 1 root root 14360 6. Sep 13:55 ldb.so
-rwxr-xr-x 1 root root 18560 6. Sep 13:55 paged_searches.so
-rwxr-xr-x 1 root root 22632 6. Sep 13:55 rdn_name.so
-rwxr-xr-x 1 root root 14520 6. Sep 13:55 sample.so
-rwxr-xr-x 1 root root 14440 6. Sep 13:55 server_sort.so
-rwxr-xr-x 1 root root 14440 6. Sep 13:55 skel.so
-rwxr-xr-x 1 root root 14360 6. Sep 13:55 tdb.so
which also appears to match the location of installed files from the Debian package: https://debian.pkgs.org/sid/debian-main-amd64/libldb2_2.10.0+samba4.21.0+dfsg-1_amd64.deb.html
Edit: manually moving over the /usr/x86_64-pc-linux-gnu/lib/ldb/memberof.so to
/usr/x86_64-pc-linux-gnu/lib/samba/ldb/
allows sssd to start up again. Thanks for the hint, looking at our package I can probably just adjust the path via --with-ldb-lib-dir
. Sorry for the noise.
Adjusting the path via --with-ldb-lib-dir
for sssd (to /usr/x86_64-pc-linux-gnu/lib/samba/ldb/) worked (https://gitlab.exherbo.org/exherbo/net/-/commit/8a8ad2ecfe7d41d58c0536948bf1dde0d03f7a27). Sorry for wasting your time, hopefully it might at least help someone else running into this.
samba 4.21.0 was built with
--private-libraries='!ldb'
as mentioned in the upstream release notes (https://www.samba.org/samba/history/samba-4.21.0.html). building sssd-2.9.5 against that samba also works without any issue, but on runtime the systemd service fails to start. When reverting back to the standalone ldb-2.9.1 and rebuilding sssd against that instead things start to work again as well.I couldn't find anything obvious in the logs, and there are some red herrings with different other warnings but they're the same so I guess they're unrelated to my problem here.
The only obvious difference is: ldb-2.9.1:
(2024-09-05 17:25:02): [sssd] [sysdb_cache_connect_helper] (0x0020): sysdb_ldb_connect failed.
samba-4.21.0:(2024-09-05 17:11:56): [sssd] [sysdb_ldb_reconnect] (0x0020): sysdb_ldb_connect failed.
however as I also get them with ldb-2.9.1 it may be one of said red herrings.working (ldb-2.9.1/sssd-2.9.5) sssd.log:
broken (samba-4.21.0/sssd-2.9.5) sssd.log: