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