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

Re: configure: error: Berkeley DB version mismatch





--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:

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

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

This will create the directory: /usr/local/stow/db-4.2.52.2 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-4.2.52.2

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 \
--with-proxycache=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.

--Quanah

--
Quanah Gibson-Mount
Principal Software Developer
ITSS/Shared Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html