https://bugs.openldap.org/show_bug.cgi?id=9213
--- Comment #1 from Ryan Tandy ryan@openldap.org --- LD_BIND_NOW=1 makes it fail at load time, so we can use slaptest to check the modules.
for mod in servers/slapd/back-*/*.la servers/slapd/overlays/*.la; do echo "moduleload $mod" > slaptest.conf if ! LD_BIND_NOW=1 ./servers/slapd/slaptest -f slaptest.conf >/dev/null 2>&1; then LD_BIND_NOW=1 LD_DEBUG=symbols ./servers/slapd/slaptest -f slaptest.conf 2>&1 | grep undefined fi done
11846: servers/slapd/back-asyncmeta/.libs/back_asyncmeta-2-devel.so.0: error: symbol lookup error: undefined symbol: ldap_build_delete_req (fatal) 11849: servers/slapd/back-dnssrv/.libs/back_dnssrv-2-devel.so.0: error: symbol lookup error: undefined symbol: ldap_domain2hostlist (fatal) 11852: servers/slapd/back-ldap/.libs/back_ldap-2-devel.so.0: error: symbol lookup error: undefined symbol: ldap_parse_whoami (fatal) 11856: servers/slapd/back-meta/.libs/back_meta-2-devel.so.0: error: symbol lookup error: undefined symbol: ldap_parse_reference (fatal)
For back-meta and back-asyncmeta: I guess it doesn't matter since they both require back_ldap to be loaded anyway.
For back-ldap and back-dnssrv: is it a problem to link libldap dynamically when slapd already linked it statically?
If linking libldap explicitly doesn't cause problems (only case I can think of is if slapd and libldap get out-of-sync), any reason to not just add it for all of them, regardless of --enable-dynamic?