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

Re: (ITS#4830) test030-relay fails with back-meta



<quote who="hyc@symas.com">
> ahasenack@terra.com.br wrote:
>> On Fri, Feb 02, 2007 at 04:03:43PM +0000, ahasenack@terra.com.br wrote:
>>> ==> rewrite_context_apply [depth=1] string='(objectClass=*)'
>>> ==> rewrite_context_apply [depth=1] res={0,'NULL'}
>>> [rw] searchFilter: "(objectClass=*)" -> "(objectClass=*)"
>>> /home/andreas/updates-svn/openldap/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
>>
>> Howard debugged this on IRC and it turns out that our (mine and
>> _ranger_'s) libunixodbc has lt_dl* symbols in it. Relinking slapd
>> without the unixodbc lib fixes it.
>
> Yes, so there are two potential issues - the unixodbc shared library seems
> to
> be statically linked with an older version of libltdl. I didn't run into
> this
> problem on my build because I don't have that odbc library. Anyway, due to
> the link order of the libraries, the lt_dlopen in this library gets used
> before the linker resolves to the system's libltdl.so, and it seems that
> this
> version of lt_dlopen doesn't automatically export the symbols of modules
> that
> it loads.
>
> I'm guessing the reason this is a problem in 2.3.33 and not in 2.3.32 is
> because there is a new dependency in 2.3.33 between back-meta and
> back-ldap.
>
> The other part of this is that the slapd binary should not be getting
> linked
> against -lodbc when back_sql is built as a module.
>
> Although, if back-sql is built statically, and other backends are dynamic,
> this problem may still crop up. It seems that fixing -lodbc would be
> required
> then.

I've hit this same problem tonight (no sql though):

./scripts/test030-relay: line 78: kill: (7779) - No such process
>>>>> ./scripts/test030-relay failed (exit 255)
make[2]: *** [bdb-mod] Error 255
make[2]: Leaving directory `/home/suretec/src/openldap-2.3.35/tests'
make[1]: *** [test] Error 2
make[1]: Leaving directory `/home/suretec/src/openldap-2.3.35/tests'
make: *** [test] Error 2

slapd.1.log:

/home/suretec/src/openldap-2.3.35/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

Config options were:

env CC=/usr/local/bin/gcc CPPFLAGS="-I/usr/local/ssl/include
-I/usr/local/BerkeleyDB.4.2/include -I/usr/local/include/sasl" \
LDFLAGS="-L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.2/lib
-L/usr/local/lib/sasl2" \
LIBS="-ldl" \
LD_LIBRARY_PATH="/usr/local/ssl/lib /usr/local/BerkeleyDB.4.2/lib
/usr/local/lib/sasl2" ./configure \
--prefix=/usr/local --enable-slapd --enable-syslog \
--enable-dynamic --enable-rewrite --disable-sql --disable-ipv6
--disable-shell \
--with-threads --enable-modules --enable-backends=mod \
--enable-overlays=mod --with-tls --enable-wrappers

On Debian Sarge 3.1 with custom compiled:

openssl-0.9.8e
cyrus-sasl-2.1.22
db-4.2.52
heimdal-0.8.1

I can't get past it. Any debug advice?

Thanks.

-- 
Kind Regards,

Gavin Henry.
Managing Director.

T +44 (0) 1224 279484
M +44 (0) 7930 323266
F +44 (0) 1224 824887
E ghenry@suretecsystems.com

Open Source. Open Solutions(tm).

http://www.suretecsystems.com/