Hello I having some strange linking problems.

I am trying to build Cyrus 2.1.2 IIMAP server using BerkeleyDB 4.0 and SASL 
2.1.2  on a RedHat 7.1 box. I installed BerkeleyDB and SASL without problem 
by doing the following.



Set up links:

ln -s /usr/local/BerkeleyDB.4.0/libdb4.a  /usr/lib/lib/libdb4.a
ln -s /usr/local/BerkeleyDB.4.0/libdb4.la  /usr/lib/lib/libdb4.la
ln -s /usr/local/BerkeleyDB.4.0/libdb4.so  /usr/lib/lib/libdb4.so

added /usr/local/BerkeleyDB4.0/lib to /etc/ld.so.conf
rand ldconfig

set the LD_RUN_PATH=/usr/local/BerkeleyDB.4.0

ran the following:

CPPFLAGS=-I/usr/local/BerkeleyDB.4.0/include
LDFLAGS=-L/usr/local/BerkeleyDB.4.0/lib ./configure --disable-krb4 --disable-
sieve --libdir=/usr/local/BerkeleyDB.4.0 
--with-dbdir=/usr/local/BerkeleyDB.4.0/

During the final phase of make I see the linker do the following:

gcc -L/usr/local/BerkeleyDB.4.0//lib 
-Wl,-rpath,/usr/local/BerkeleyDB.4.0//lib -
L/usr/local/BerkeleyDB.4.0//lib -L/usr/local/lib -Wl,-rpath,/usr/local/lib 
-L/us
r/local/BerkeleyDB.4.0/lib -Wall -g -O2 -o imapd \

../master/service.o pushstats.o imapd.o index.o tls.o version.o libimap.a ../ac
ap/libacap.a ../lib/libcyrus.a -L/usr/lib/sasl/lib -Wl,-rpath,/usr/lib/sasl/li
b -lsasl2 -lrt -ldl -lssl -lcrypto -ldb-3.1 -lresolv ../et/libcom_err.a -lw
rap -lnsl

Now when I fired up "/usr/cyrus/bin/master&" and tail the imapd.log file I see:

Mar 20 23:23:23 birdbrain master[25255]: process 25257 exited, status 75
Mar 20 23:23:23 birdbrain tls_prune[25259]: incorrect version of Berkeley
db: co mpiled against 4.0.14, linked against 3.1.14


Of course when I run ldd on /usr/cyrus/bin/master I get the following:

[root@birdbrain cyrus-imapd-2.1.2]# ldd /usr/cyrus/bin/master
libdl.so.2 => /lib/libdl.so.2 (0x4001e000)
libssl.so.0 => /usr/lib/libssl.so.0 (0x40021000)
libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0x4004f000)
libdb-3.1.so => /lib/libdb-3.1.so (0x40107000)
libresolv.so.2 => /lib/libresolv.so.2 (0x40183000)
libc.so.6 => /lib/libc.so.6 (0x40195000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Can someone help me to figure out why despite all the measure I am taking 
to make cyrus link against the the version 4 BerkeleyDB libraries it only 
gets linked against the version 3 libraries? I appreciate any help I could 
get with this. Thank you.













Reply via email to