[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: 2.3.33 back_meta test failure

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 
[bgmilne@seaknight tests]$ export 
[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 

(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).


Buchan Milne
ISP Systems Specialist - Monitoring/Authentication Team Leader

Attachment: pgpFw8tMu2T1j.pgp
Description: PGP signature