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

Re: configure: error: Berkeley DB version mismatch

This is all very ... interesting ... but this mailing list is not a forum for Solaris / Unix system administration tutelage. This email thread has worn out its relevance to OpenLDAP software; it needs to end here.

Quanah Gibson-Mount wrote:

--On Friday, September 17, 2004 9:32 AM +1000 Cameron Gregg <cam@yak.com.au> wrote:

Why not? Because if you set up your build environment correctly, and
pass in the correct parameters to your compiler,

well, as far as I can tell, i have been doing this, I can't figure out
why its not finding it.

there is no need to
play games like this, that's why...

yes, i would prefer a 'clean' system.

Have you tried installing things into /usr/local/[bin,lib,sbin,man,etc]


There is a nice program called stow (and there are other ones like it), that let you build software in something like the following way (this is how I do it at Stanford):

For BDB:

make install prefix=/usr/local/stow/db4-

(I add the .2 for the 2 patches I added in).

This will create the directory: /usr/local/stow/db- with all the BDB stuff inside of there. Then you use the stow utility to link it in to the /usr/local area:

stow db4-

Then you build your next package, stow it, etc. And you can create nice little tarballs of what you built, so you can easily re-install the packages anywhere. And upgrading to a new version is a snap. Just stow -D the old version, and then stow the new one (stow -D openldap-2.2.15, stow openldap-2.2.17). Boom, I'm done upgrading the server. ;)

As for compiler flags, etc...

Here is what I use for OpenLDAP:

CC=/usr/pubsw/bin/gcc CXX=/usr/pubsw/bin/g++ CFLAGS='-O2' CXXFLAGS='-O2' sh configure --datadir='${prefix}/lib' --libexecdir='${prefix}/lib' --sharedstatedir='${prefix}/lib' \
--prefix=/usr/local \
--disable-ipv6 \
--with-cyrus-sasl \
--with-kerberos \
--with-tls \
--enable-monitor \
--enable-dynamic \
--enable-phonetic \
--enable-slapd \
--enable-spasswd \
--enable-rlookups \
--enable-wrappers \
--enable-hdb \
--with-dyngroup=yes \

For building:

env LD_RUN_PATH="/location/to/bdb/libs /usr/local/lib" make depend
env LD_RUN_PATH="/location/to/bdb/libs /usr/local/lib" make

Since you put BDB in a non-standard location, you might add this to the configure line as well:

LD_RUN_PATH="/location/to/bdb/libs /usr/local/lib"

You may also need to play with include-related compiler flags.

 -- Howard Chu
 Chief Architect, Symas Corp.       Director, Highland Sun
 http://www.symas.com               http://highlandsun.com/hyc
 Symas: Premier OpenSource Development and Support