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

could not find suitable LDBM backend

I searched the archives, I read the FAQ regarding this error, and I tried 
everything there with no results. (Most of the issues regarding this error 
appear to be solaris -based. The one Redhat message is from years ago, 
redhat 5.1 and db-2.x)

I installed berkely db-4 in /usr/local/db-4:
cd /usr/local/db-4/build_unix

This went well, with no errors.

When installing openldap in /usr/local/openldap, configure ends with:

checking for db.h... no
checking for MDBM library... checking for mdbm_set_chain... no
checking for mdbm_set_chain in -lmdbm... no
checking for mdbm.h... no
checking for db... no
checking for GDBM library... checking for gdbm_open... no
checking for gdbm_open in -lgdbm... no
checking for gdbm.h... no
checking for db... no
configure: warning: could not find suitable LDBM backend
configure: error: select appropriate LDBM options or disable

So after searching the archives and the FAQ, I did:

export CPPFLAGS="-I/usr/local/include"

I also tried this, suggested in the FAQ to force ./configure to use db-4:
./configure --with-ldbm-api=berkeley

.... nope. No joy. Next:
export CPPFLAGS="-I/usr/local/db-4/include"

Arrghh!! I still get the same error. After about 4 hours fighting this, 
I'm stumped. Here is the end of the make output of db-4:

cc -o .libs/db_upgrade db_upgrade.o util_sig.o  ./.libs/libdb-4.1.so  
-Wl,--rpath -Wl,/usr/local/BerkeleyDB.4.1/lib
creating db_upgrade
/bin/sh ./libtool --mode=execute true db_upgrade
/bin/sh ./libtool --mode=compile cc -c -I. -I../dist/.. -I../dist/../dbinc 
-I/usr/local/include -D_GNU_SOURCE -D_REENTRANT -O 
rm -f .libs/db_verify.lo
cc -c -I. -I../dist/.. -I../dist/../dbinc -I/usr/local/include 
-D_GNU_SOURCE -D_REENTRANT -O ../dist/../db_verify/db_verify.c  -fPIC 
-DPIC -o .libs/db_verify.lo
cc -c -I. -I../dist/.. -I../dist/../dbinc -I/usr/local/include 
-D_GNU_SOURCE -D_REENTRANT -O ../dist/../db_verify/db_verify.c -o 
db_verify.o >/dev/null 2>&1
mv -f .libs/db_verify.lo db_verify.lo
/bin/sh ./libtool --mode=link cc -o db_verify  \
    db_verify.lo util_cache.lo util_sig.lo libdb-4.1.la 
cc -o .libs/db_verify db_verify.o util_cache.o util_sig.o  
./.libs/libdb-4.1.so  -Wl,--rpath -Wl,/usr/local/BerkeleyDB.4.1/lib
creating db_verify
/bin/sh ./libtool --mode=execute true db_verify

I tried to check the db version to verify:
grep DB_VERSION_STRING /usr/include/db.h
grep: /usr/include/db.h: No such file or directory

Hmmmm... locate db.h:


WTF? Looks to me like db-4 isn't properly included...

What file should I specifically be trying to locate, and how do I properly 
set the LD_LIBRARY_PATH and CPPFLAGS to point to it?

Alternatively, do I really need ldbm? The purpose of ldap on this machine 
is to use the qmail_ldap patch for qmail authentication and to get all 
qmail user account information from an LDAP database. 

Please let me know if any other information is needed.

Thanks in advance.
Keith Mastin       BeechTree Information Technology Services Inc.
137 Laird Drive    Toronto    M4G 3V5     http://www.beechtree.ca
  (416)696-6070      Fax(416)696-6072      kmastin@beechtree.ca