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

SASL library version mismatch

Hi  All

Below is a description of my "make test" issue with OpenLDAP:

make test failed.

Following is the "make test" log file:
daemon_init: ldap://localhost:9011/
daemon_init: listen on ldap://localhost:9011/
daemon_init: 1 listeners to open...
daemon: initialized ldap://localhost:9011/
daemon_init: 1 listeners opened
slapd init: initiated server.
slap_sasl_init: SASL library version mismatch: expected 2.1.18, got 2.1.7
slapd shutdown: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.

Backgroud Info
OS: Redhat Linux 8.0
Cyrus SASL Version 1: 2.1.18 (installed from tarball with default setting)
Cyrus SASL Version 2: 2.1.7 (Redhat 8 default package)
OpenLDAP Version tried: 2.1.29, 2.2.8, 2.2.10

How I compile
I've tried many methods, and all failed with the same error.

1) Method One
# ./configure
# make depend
# make
# make test

2) Method Two
# LDFLAGS="-L/usr/local/lib/sasl2 -L/usr/local/BerkeleyDB.4.2/lib"
CPPFLAGS="-I/usr/local/ssl/include/openssl -
I/usr/local/BerkeleyDB.4.2/include" LIBS="-lssl -lcrypt -lsasl2" ./configure
# make depend
# make
# make test

3) Method Three
# export LDFLAGS="-L/usr/local/lib/sasl2 -L/usr/local/BerkeleyDB.4.2/lib" 
# export CPPFLAGS="-I/usr/local/ssl/include/openssl
# export LIBS="-lssl -lcrypt -lsasl2" 
# ./configure
# make depend
# make
# make test

4) Method four
# ./configure
# make depend
# make
# make test

5) Method five
Use one of the above-mentioned methods to compile. 
Before run make test, run

I also notice that the compiled slapd doesn't link to libsasl2. Is it
normal? The following is the ldd output of sladp compiled with method 1.
# ldd ./servers/slapd/slapd
        libdb-4.2.so => /lib/libdb-4.2.so (0x4001e000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x400cb000)
        libssl.so.2 => /lib/libssl.so.2 (0x400f8000)
        libcrypto.so.2 => /lib/libcrypto.so.2 (0x40128000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x401fc000)
        libdl.so.2 => /lib/libdl.so.2 (0x4020e000)
        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40211000)
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Does anyone have any clue why this happen? I suppose by using the
"LD_LIBRARY_PATH" environment variable the version 2.1.18 will have priority
over version 2.1.7. I know I can use RPM pacakge, but it's not always


Lim Keh Boon
Senior Infrastructure Engineer
Managed Services

8 Temasek Boulevard
#07-01 Suntec Tower 3
Singapore 038988

DID 65-68322691
FAX 65-68322515