On Wednesday 31 January 2007 22:16, Pierangelo Masarati wrote:
Andreas Hasenack wrote:
/home/andreas/updates-svn/openldap/BUILD/openldap-2.3.33/servers/slap d/.libs/lt-slapd: symbol lookup error: ../servers/slapd/back-meta/.libs/back_meta-2.3.so.0: undefined symbol: ldap_back_proxy_authz_ctrl
Anybody else with the same problem?
You already know I've been having this problem :-P. Still haven't resolved anything yet.
You should build and load the back_ldap.la module as well. That is supposed to provide the missing symbol.
It it supposedly built: [andreas@pandora openldap-2.3.33]$ find . -name back_ldap* ./servers/slapd/back-ldap/.libs/back_ldap-2.3.so.0.2.21 ./servers/slapd/back-ldap/.libs/back_ldap-2.3.so.0.2.21T ./servers/slapd/back-ldap/.libs/back_ldap.lai ./servers/slapd/back-ldap/.libs/back_ldap.la ./servers/slapd/back-ldap/.libs/back_ldap.so ./servers/slapd/back-ldap/.libs/back_ldap-2.3.so.0 ./servers/slapd/back-ldap/back_ldap.la
.. but you need to explicitly load it in slapd.conf (or via back-config).
You mean, the test script needs to do it. Remember, I just ran "make test" and it failed.
But, the configs for this test *do* load it:
Using meta backend...
Starting slapd on TCP/IP port 9011... Using ldapsearch to check that slapd is running... Using ldapadd to populate the database... Searching base="dc=example,dc=com"... Searching base="o=Example,c=US"... Search failed (255)! ./scripts/relay: line 78: kill: (18129) - No such process [bgmilne@seaknight tests]$ less testrun/sl slapd.1.conf slapd.1.log slapd.args slapd.pid [bgmilne@seaknight tests]$ tail testrun/slapd.1.log conn=3 op=1 >>> meta_search_dobind_init[0] conn=3 op=1 <<< meta_search_dobind_init[0]=1 ==> rewrite_context_apply [depth=1] string='o=Example,c=US' ==> rewrite_rule_apply rule='((.+),)?o=Example,[ ]?c=US$' string='o=Example,c=US' [1 pass(es)] ==> rewrite_context_apply [depth=1] res={0,'dc=example,dc=com'} [rw] searchBase: "o=Example,c=US" -> "dc=example,dc=com" ==> rewrite_context_apply [depth=1] string='(objectClass=*)' ==> rewrite_context_apply [depth=1] res={0,'NULL'} [rw] searchFilter: "(objectClass=*)" -> "(objectClass=*)" /home/bgmilne/rpm/BUILD/openldap-2.3.33/servers/slapd/.libs/lt-slapd: symbol lookup error: ../servers/slapd/back-meta/.libs/back_meta-2.3.so.0: undefined symbol: ldap_back_proxy_authz_ctrl [bgmilne@seaknight tests]$ grep -C5 back_meta testrun/slapd.1.conf modulepath ../servers/slapd/back-relay/ moduleload back_relay.la modulepath ../servers/slapd/back-ldap/ moduleload back_ldap.la modulepath ../servers/slapd/back-meta/ moduleload back_meta.la modulepath ../servers/slapd/back-monitor/ moduleload back_monitor.la modulepath ../servers/slapd/overlays/ moduleload rwm.la
I suspect that slapd is using the installed version of libldap_r, which may be playing nasty tricks here:
[bgmilne@seaknight tests]$ ldd ../servers/slapd/.libs/slapd|grep ldap_r libldap_r-2.3.so.0 => /usr/lib64/libldap_r-2.3.so.0 (0x00002b5b96e33000) [bgmilne@seaknight tests]$ export LD_LIBRARY_PATH=/home/bgmilne/rpm/BUILD/openldap-2.3.33/libraries/libldap_r/.libs/ [bgmilne@seaknight tests]$ ldd ../servers/slapd/.libs/slapd|grep ldap_r libldap_r-2.3.so.0 => /usr/lib64/libldap_r-2.3.so.0 (0x00002b9240c97000)
(surely, it should have used the one from /home/bgmilne/rpm/BUILD/openldap-2.3.33/libraries/libldap_r/.libs/ ?)
Right, sorry. I overlooked that bit. I'm unsure having to explicitly load back_ldap.la to use back_meta.la is the best solution, though.
Right, but it should still work.
Please report this thru the ITS.
I'm not sure that the real problem here is an OpenLDAP problem (since I don't see it on other distros, which have no installed 2.3 libldap_r).
Regards, Buchan