Hi, I tried out some solutions at http://www.openldap.org/faq/data/cache/345.html but I still don't solve the make test fail : test001-slapadd
Starting test001-slapadd ...
running defines.sh Running slapadd to build slapd database... Starting slapd on TCP/IP port 9011... Using ldapsearch to retrieve all the entries... ./scripts/test001-slapadd: line 51: 2410 Segmentation fault $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING >$LOG1 2>&1 Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... ./scripts/test001-slapadd: line 53: kill: (2410) - No such process ldapsearch failed (1)!
./scripts/test001-slapadd failed (exit 1)
I guess it comes from the incorrect install of BerkerleyDB, I have installed two version of BerkerleyDB: 4.5 and 4.6 and they locate at /usr/local/BerkerleyDB.4.5 and /usr/local/BerkerleyDB.4.6 After "make install" them, then configure OpenLDAP I receive compliant about missing "db.h" file, then I copy subdirectories in /usr/local/BerkerleyDB.4.6 to corresponsive subdirectories in /usr/local. Then I have finished "make" OpenLDAP susscessful however "make test" failed.
Could you tell me how you install BerkerleyDB to work with Openldap ? or tell me if my test failure came from the difference problems. Help me, please. Thank you.
"Segmentation fault" really says it all...
Check the logs in the testrun directory. See if there's anything interesting. testrun/slapd.*.log should be particularly relevant.
My guess would be that playing around with db.h resulted in headers not matching the libraries. (Although I thought there were checks for such things...) I'd try to undo whatever you did with /usr/local, and play around with CPPFLAGS and similar autoconf variables to pick one and only one "/usr/local/BerkerleyDB.4.{5,6}" as you see fit. There's also a chance (depending on your autoconf and/or linker configuration, both compile and run time) that you were OK at compile time but changed at run time, especially if you have a copy of BerkeleyDB in /usr itself.
What version of OpenLDAP are you trying to compile here? If it's a recent one and this is a detectable failure, maybe it'd be better to assert() out here instead of segv'ing. If it's not a recent one...you should be compiling a recent version, and you might avoid headaches like this because error checking has likely improved. Like I said, I thought there were header != lib checks already.
On Wed, 3 Oct 2007, Le Trung Kien wrote:
Hi, I tried out some solutions at http://www.openldap.org/faq/data/cache/345.html but I still don't solve the make test fail : test001-slapadd
Starting test001-slapadd ...
running defines.sh Running slapadd to build slapd database... Starting slapd on TCP/IP port 9011... Using ldapsearch to retrieve all the entries... ./scripts/test001-slapadd: line 51: 2410 Segmentation fault $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING >$LOG1 2>&1 Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... Waiting 5 seconds for slapd to start... ./scripts/test001-slapadd: line 53: kill: (2410) - No such process ldapsearch failed (1)!
./scripts/test001-slapadd failed (exit 1)
I guess it comes from the incorrect install of BerkerleyDB, I have installed two version of BerkerleyDB: 4.5 and 4.6 and they locate at /usr/local/BerkerleyDB.4.5 and /usr/local/BerkerleyDB.4.6 After "make install" them, then configure OpenLDAP I receive compliant about missing "db.h" file, then I copy subdirectories in /usr/local/BerkerleyDB.4.6 to corresponsive subdirectories in /usr/local. Then I have finished "make" OpenLDAP susscessful however "make test" failed.
Could you tell me how you install BerkerleyDB to work with Openldap ? or tell me if my test failure came from the difference problems. Help me, please. Thank you.
-- Le Trung Kien.
"Le Trung Kien" aloneattack@gmail.com writes:
Hi, I tried out some solutions at http://www.openldap.org/faq/data/cache/345.html but I still don't solve the make test fail : test001-slapadd
[...]
I guess it comes from the incorrect install of BerkerleyDB, I have installed two version of BerkerleyDB: 4.5 and 4.6 and they locate at /usr/local/BerkerleyDB.4.5 and /usr/local/BerkerleyDB.4.6 After "make install" them, then configure OpenLDAP I receive compliant about missing "db.h" file, then I copy subdirectories in /usr/local/BerkerleyDB.4.6 to corresponsive subdirectories in /usr/local. Then I have finished "make" OpenLDAP susscessful however "make test" failed.
Could you tell me how you install BerkerleyDB to work with Openldap ? or tell me if my test failure came from the difference problems. Help me, please. Thank you.
remove the copied subdirectories
export CPPFLAGS="-I/usr/local/BerkeleyDB-4.5/include" export LDFLAGS="-L/usr/local/BerkeleyDB-4.5/lib" ./configure
and make the dynamic linker/loader aware of the path to libdb-4.5.so
-Dieter
--On Wednesday, October 03, 2007 4:44 PM +0700 Le Trung Kien aloneattack@gmail.com wrote:
Could you tell me how you install BerkerleyDB to work with Openldap ? or tell me if my test failure came from the difference problems. Help me, please. Thank you.
In addition to the other advice, if you are building OpenLDAP 2.3.x, it does not support BDB 4.6.
--Quanah
--
Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration
openldap-software@openldap.org