|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| ||||||||||||||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
configure: error: Berkeley DB version mismatch
Hi
I just started with LDAP. I am trying to install openLDAP2.2.15 on my lynux machine. I have already installed the Sleepycat Berkeley DB 4.2.52 (along with the two recommended patches). The configure script is giving the following error. “configure: error: Berkeley DB version mismatch”. Could somebody tell me how to resolve this issue? Following are the installation logs. [root@synergy openldap-2.2.15]# env CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib" ./configure --with-wrappers --with-ldbm-api=berkeley Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved. Restrictions apply, see COPYRIGHT and LICENSE files. Configuring OpenLDAP 2.2.15-Release ... checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for a BSD compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for mawk... no checking for gawk... gawk checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gnutar... no checking for gtar... gtar checking configure arguments... configure: warning: LDBM disabled, ignoring --wi th-ldbm-api argument done checking for a BSD compatible install... /usr/bin/install -c checking for cc... cc checking for ar... ar checking for Cygwin environment... no checking for mingw32 environment... no checking for EMX OS/2 environment... no checking how to run the C preprocessor... cc -E checking for gcc... (cached) cc checking whether the C compiler (cc -I/usr/local/BerkeleyDB.4.2/include -L/usr/ local/BerkeleyDB.4.2/lib) works... yes checking whether the C compiler (cc -I/usr/local/BerkeleyDB.4.2/include -L/usr/ local/BerkeleyDB.4.2/lib) is a cross-compiler... no checking whether we are using GNU C... yes checking whether cc accepts -g... yes checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking for a sed that does not truncate output... /bin/sed checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking for object suffix... o checking for executable suffix... no checking command to parse /usr/bin/nm -B output... ok checking for dlfcn.h... yes checking for ranlib... ranlib checking for strip... strip checking for objdir... .libs checking for cc option to produce PIC... -fPIC checking if cc PIC flag -fPIC works... yes checking if cc static flag -static works... yes checking if cc supports -c -o file.o... yes checking if cc supports -c -o file.lo... yes checking if cc supports -fno-rtti -fno-exceptions... yes checking whether the linker (/usr/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking dynamic linker characteristics... GNU/Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for dllload... no checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen... no checking for dlopen in -ldl... yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself... no checking whether -lc should be explicitly linked in... no creating libtool checking whether ln works... yes checking whether ln -s works... (cached) yes checking how to run the C preprocessor... cc -E checking for Cygwin environment... (cached) no checking for mingw32 environment... (cached) no checking for executable suffix... (cached) no checking for object suffix... (cached) o checking for be_app in -lbe... no checking for cc option to accept ANSI C... none needed checking for cc depend flag... -M checking for afopen in -ls... no checking for EBCDIC... no checking for ANSI C header files... yes checking for dirent.h that defines DIR... yes checking for opendir in -ldir... no checking for sys/wait.h that is POSIX.1 compatible... yes checking POSIX termios... yes checking whether use of TIOCGWINSZ requires sys/ioctl.h... yes checking for arpa/inet.h... yes checking for arpa/nameser.h... yes checking for assert.h... yes checking for bits/types.h... yes checking for conio.h... no checking for crypt.h... yes checking for direct.h... no checking for errno.h... yes checking for fcntl.h... yes checking for filio.h... no checking for getopt.h... yes checking for grp.h... yes checking for io.h... no checking for libutil.h... no checking for limits.h... yes checking for locale.h... yes checking for netinet/tcp.h... yes checking for malloc.h... yes checking for memory.h... yes checking for psap.h... no checking for pwd.h... yes checking for process.h... no checking for resolv.h... yes checking for sgtty.h... yes checking for shadow.h... yes checking for stddef.h... yes checking for string.h... yes checking for strings.h... yes checking for sysexits.h... yes checking for sys/file.h... yes checking for sys/filio.h... no checking for sys/errno.h... yes checking for sys/ioctl.h... yes checking for sys/param.h... yes checking for sys/resource.h... yes checking for sys/select.h... yes checking for sys/socket.h... yes checking for sys/stat.h... yes checking for sys/syslog.h... yes checking for sys/time.h... yes checking for sys/types.h... yes checking for sys/ucred.h... no checking for sys/uio.h... yes checking for syslog.h... yes checking for termios.h... yes checking for unistd.h... yes checking for winsock.h... no checking for winsock2.h... no checking for sigset in -lV3... no checking for socket... yes checking for select... yes checking types of arguments for select()... int,fd_set *,struct timeval * checking for regex.h... yes checking for library containing regfree... none required checking for compatible POSIX regex... yes checking for sys/uuid.h... no checking to see if -lrpcrt4 is needed for win32 UUID support... no checking for res_query... no checking for __res_query... no checking for res_query in -lbind... no checking for __res_query in -lbind... no checking for res_query in -lresolv... yes checking for getaddrinfo... yes checking for getnameinfo... yes checking for gai_strerror... yes checking for inet_ntop... yes checking INET6_ADDRSTRLEN... yes checking struct sockaddr_storage... yes checking for sys/un.h... yes checking for openssl/ssl.h... yes checking for ssl.h... no checking for SSLeay_add_ssl_algorithms in -lssl... no checking for SSL_library_init in -lssl... yes checking for _beginthread... no checking for pthread.h... yes checking POSIX thread version... 10 checking for LinuxThreads pthread.h... yes checking for GNU Pth pthread.h... no checking for sched.h... yes checking for pthread_create in default libraries... no checking for pthread link with -kthread... no checking for pthread link with -pthread... yes checking for sched_yield... yes checking for pthread_yield... yes checking for thr_yield... no checking for pthread_kill... yes checking for pthread_rwlock_destroy... yes checking for pthread_detach with <pthread.h>... yes checking for pthread_setconcurrency... yes checking for pthread_getconcurrency... yes checking for thr_setconcurrency... no checking for thr_getconcurrency... no checking for pthread_kill_other_threads_np... yes checking for LinuxThreads implementation... yes checking for LinuxThreads consistency... yes checking if pthread_create() works... yes checking if select yields when using pthreads... yes checking for thread specific errno... yes checking for thread specific h_errno... yes checking for ctime_r... yes checking for gethostbyname_r... yes checking for gethostbyaddr_r... yes checking number of arguments of ctime_r... 2 checking number of arguments of gethostbyname_r... 6 checking number of arguments of gethostbyaddr_r... 8 checking for db.h... yes checking for Berkeley DB link (default)... no checking for Berkeley DB link (-ldb42)... no checking for Berkeley DB link (-ldb-42)... no checking for Berkeley DB link (-ldb-4.2)... yes checking for Berkeley DB version match... no configure: error: Berkeley DB version mismatch |
|
#2
|
|||
|
|||
|
I think U may be having an old DB3.x and multiple db.h files, in /usr/include, /usr/local/include, /usr/local/BerkeleyDB.4.2/include, if so, remove DB3.X or rename the db.h of version 3.
|
|
#3
|
|||
|
|||
|
Quote:
I tried and hace checked each and every file db.h version - I still get the same error published here - Please can someonehelp here? |
|
#4
|
|||
|
|||
|
Quote:
I got it resolved. You just need to set the LD_LIBRARY_PATH environment variable to directory where the BDB shared libraries are located. Type the following line on the terminal you are working.. export LD_LIBRARY_PATH="<BerkelyDB Directory path>/build_unix/.libs" For ex: export LD_LIBRARY_PATH="/home/bompada/db-4.2.52.NC/build_unix/.libs" Hope this helps you too.. cheers |
|
#5
|
|||
|
|||
|
help LDAP
Quote:
This LD PATH saved me from the mismatch too.but problem is when i run make i get a error (tls) and ends. i have tried reinstalling openssl too. wht do i do . |
|
#6
|
|||
|
|||
|
The make also ran complete once i added in the CPPFLAGS & LDFLAGS /usr/local/include & /usr/local/bin
but when i did make test following are the errors [root@lab123 openldap-2.2.15]# make test cd tests; make test make[1]: Entering directory `/home/bilal/openldap-2.2.15/tests' make[2]: Entering directory `/home/bilal/openldap-2.2.15/tests' Initiating LDAP tests for BDB... Running ./scripts/all... >>>>> Executing all LDAP tests for bdb >>>>> Starting test000-rootdse ... running defines.sh Starting slapd on TCP/IP port 9011... Using ldapsearch to retrieve the root DSE... 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/test000-rootdse: kill: (14117) - No such pid ldap_bind: Can't contact LDAP server (-1) >>>>> Test failed >>>>> ./scripts/test000-rootdse failed (exit 1) make[2]: *** [bdb-yes] Error 1 make[2]: Leaving directory `/home/bilal/openldap-2.2.15/tests' make[1]: *** [test] Error 2 make[1]: Leaving directory `/home/bilal/openldap-2.2.15/tests' make: *** [test] Error 2 [root@lab123 openldap-2.2.15]# I have installed openssl and cyrus sasl I been trying to get ldap working but some how running into one ditch after another neeed help. ![]() |
|
#7
|
|||
|
|||
|
Most probably the test fails because you compile against the Berkeley DB specified by your configure argument, but the test runs with another Berkeley DB which is somewhere in the default path (/usr/lib, whatever). You still have an incompatible BDB somewhere which gets loaded first.
Try to run the test with the same LD_LIBRARY_PATH again, and you should be fine. Alternatively: use the expected default location for the dbd. (I know this is not always an option.) |
|
#8
|
|||
|
|||
|
LDAP fails to start
Hi,
I'm having the same problem and it's driving me nuts. Have you figured out the solution for it. After i do the make test and it fails, i try to start the server by su root -c /usr/local/libexec/slapd but it fails and i get can't find libdb-4.3.so. I appreciate any help on that Moe Quote:
|
|
#9
|
|||
|
|||
|
Quote:
Hi, Here's what worked for me: - installed berkeley db (Vers. 4.2.52 with patches). Files show up in /usr/local/BerkeleyDB.4.2 (BTW: Suse Linux 9.2). - before running the openldap configure script, set the environment variables as follows: $ export CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include" $ export LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib" $ export LD_LIBRARY_PATH=/data/install/berkeleydb/db-4.2.52.NC/build_unix/.libs - followed the installation instructions for openldap to the letter: $ cd /data/install/openldap/openldap-2.2.23 (my installation directory) $ ./configure $ make depend $ make $ make test (tests run fine) $ su # make install - before starting slapd, I made a symbolic link to the shared library: # cd /usr/local/lib # ln -s /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so # ldconfig - now, I could start slapd: # /usr/local/openldap-2.2.23/libexec/slapd Hope that helps. regards Daniel |
|
#10
|
|||
|
|||
|
Quote:
Worked on RH9 |
|
#11
|
|||
|
|||
|
It works fantastic for 4.3 as well!!
Quote:
Hi Thanx for this find out. Only thing extra I had to do before running "make" was to run ldconfig. Then running make test and make install makes openldap work with Berkeley-4.3 as well, without any problems. With Regards bejnet |
|
#12
|
|||
|
|||
|
Thanks for that, it worked on fedora core 2 too.
|
|
#13
|
|||
|
|||
|
GREAT SOLUTION.... and debian too
Quote:
hey,,,, this is a great solution... and under debian sarge 3.1.... ROX..!!! work wonderfull saludos desde CHILE...!!!!! |
|
#14
|
|||
|
|||
|
Solaris 10 [SPARC] resolution
Quote:
this is what worked for me. it turns out that gcc installed in /usr/sfw/bin/gcc was either broken or just broke enough to let the build fail. so,i went out to my favorite sunfreeware.com mirror (sunfreeware.mirrors.tds.net/indexsparc10.html) and grabbed gcc342 and installed it( in all 8 of my solars 10 zones too). export CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include" export LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib" export LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.2/lib/" ./configure --prefix=/opt/openldap-2.3.31 --enable-crypt --with-wrappers --with-tls --enable-crypt --enable-syslog --enable-ppolicy keep in mind that you will need to add the openssl paths to LDFLAGS, CPPFLAGS and LD_LIBRARY_PATH if you desire ssl support. the configure script seemed to detect and use the native solaris 10 SASL and kerberos libs without any intervention from me. all was fine as frogs hair after that. make depend, make, make test all worked wonderfully. hope this assists someone in their battles. on a side note, i was able to reproduce this behavior in all of my zones as well. |
|
#15
|
|||
|
|||
|
Hi,
It didn't work for me on RHAS4. I want to compile openldap 3.33.4 with the option multimaster. I replaced export CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include" by export CPPFLAGS="-DSLAPD_MULTIMASTER -I/usr/local/BerkeleyDB.4.2/include" but the make test command failed : >>>>> Starting test017-syncreplication-refresh ... running defines.sh Starting master slapd on TCP/IP port 9011... Using ldapsearch to check that master slapd is running... Using ldapadd to create the context prefix entry in the master... Starting slave slapd on TCP/IP port 9012... Using ldapsearch to check that slave slapd is running... Using ldapadd to populate the master directory... Waiting 15 seconds for syncrepl to receive changes... Using ldapmodify to modify master directory... Waiting 15 seconds for syncrepl to receive changes... Try updating the slave slapd... ldapmodify should have failed (50)! >>>>> ./scripts/test017-syncreplication-refresh failed (exit 50) make[2]: *** [bdb-yes] Erreur 50 make[2]: Leaving directory `/produits/install/openldap-2.3.34/tests' make[1]: *** [test] Erreur 2 make[1]: Leaving directory `/produits/install/openldap-2.3.34/tests' make: *** [test] Erreur 2 Any idea? |
![]() |
| Viewing: Dev Shed Forums > Databases > LDAP Programming > configure: error: Berkeley DB version mismatch |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|