- 论坛徽章:
- 0
|
我的openldap怎么不能通过make test
All,
The files /usr/lib/sasl are most likely used by RedHat other software components, eg: sendmail/imapd, removing them may break these dependent softwares.
At the time of error, look at the testrun log file:
$ cat tests/testrun/slapd.1.log
...
slap_sasl_init: SASL library version mismatch: expected 2.1.21, got 2.1.19.
...
Then check:
$ ldd servers/slapd/slapd | grep sasl
If it shows:
libsasl2.so.2 =>; /usr/lib/libsasl2.so.2 (0x001ec000)
That means it had linked the old 2.1.19 version of /usr/lib/libsasl2.so.2, instead of /usr/local/lib/libsasl2.so.2
So you know you are missing "/usr/local/lib" in "./configure".
To resolve this:
1) After instaling latest version of cyrus-sasl-2.1.21, create a link for sasl2:
# cd /usr/lib
# ln -s /usr/local/lib/sasl2 sasl2
2) There is no need to edit /etc/ld.so.conf and run "ldconfig", you can instruct ./configure to use the correct LD_LIBRARY_PATH, CPPFLAGS and LDFLAGS, below (ONE LINE) is an example, it assumes BDB, OpenSSL and Cyrus SASL are all linked from /usr/local hierchy
env LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib/sasl2:/usr/local/BerkeleyDB.4.2/lib:/usr/local/ssl/lib" LDFLAGS="-L/usr/local/lib -L/usr/local/lib/sasl2 -L/usr/local/BerkeleyDB.4.2/lib -L/usr/local/ssl/lib -R/usr/local/lib -R/usr/local/lib/sasl2 -R/usr/local/BerkeleyDB.4.2/lib -R/usr/local/ssl/lib" CPPFLAGS="-I/usr/local/include -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/ssl/include" ./configure --enable-bdb --enable-ldbm --enable-ldap --enable-meta --enable-crypt --with-tls --with-cyrus-sasl
3) Please use BDB 4.2.52 + 2 patches as BDB 4.3.XX is not yet confirmed stable when used with OpenLDAP 2.2.2X/2.3.X by the OpenLDAP development team.
Gary |
|