BDB Nightmare

Akshay Kumar akshay at cs.columbia.edu
Fri Oct 22 20:44:45 EDT 2004


Hi,

Thanks for the reply.

I am running Redhat 9 with updates from Progeny. I can't upgrade the OS
either.

ldd -r /spare/local/lib/libdb-4.2.so give the following output:

        libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x55555000)
undefined symbol: pthread_condattr_setpshared
(/spare/local/lib/libdb-4.2.so)
undefined symbol: pthread_mutexattr_destroy
(/spare/local/lib/libdb-4.2.so)
undefined symbol: pthread_mutexattr_setpshared
(/spare/local/lib/libdb-4.2.so)
undefined symbol: pthread_mutexattr_init
(/spare/local/lib/libdb-4.2.so)
undefined symbol: pthread_mutex_trylock (/spare/local/lib/libdb-4.2.so)

I also have the following rpms of an older version:

db4-4.0.14-20
db4-devel-4.0.14-20

I can't uninstall them as I need this for other dependencies which is why
I am using /spare/local.

adding "LDFLAGS=-L/spare/local/lib -R/spare/local/lib" doesnt help either.

/spare/local/lib is the top entry in ld.so.conf and I then ran ldconfig.

Everything else picks up the correct version, SASL, Sendmail, Openldap.

ldd ./sendmail
        libsasl2.so.2 => /spare/local/lib/libsasl2.so.2 (0x2aad9000)
        libdb-4.2.so => /spare/local/lib/libdb-4.2.so (0x2aaed000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x2ab94000)
        libssl.so.4 => /lib/libssl.so.4 (0x2aba2000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0x2abd7000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x2acce000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x2ace0000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x2ad0e000)
        libdl.so.2 => /lib/libdl.so.2 (0x2ad23000)
        libldap-2.2.so.7 => /spare/local/lib/libldap-2.2.so.7 (0x2ad27000)
        liblber-2.2.so.7 => /spare/local/lib/liblber-2.2.so.7 (0x2ad54000)
        libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaab000)
        libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2
(0x2ad60000)
        libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x2ad74000)
        libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x2add2000)
        libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3
(0x2add4000)
        libz.so.1 => /usr/lib/libz.so.1 (0x2ade4000)

 ldd ./slapd
        libdb-4.2.so => /spare/local/lib/libdb-4.2.so (0x2aad9000)
        libsasl2.so.2 => /spare/local/lib/libsasl2.so.2 (0x2ab81000)
        libssl.so.4 => /lib/libssl.so.4 (0x2ab94000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0x2abc9000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x2acc0000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x2acd2000)
        libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
        libdl.so.2 => /lib/libdl.so.2 (0x2ace1000)
        libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2
(0x2ace5000)
        libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x2acf8000)
        libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x2ad56000)
        libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3
(0x2ad58000)
        libz.so.1 => /usr/lib/libz.so.1 (0x2ad68000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaab000)

and say for openldap I used this:


env "CPPFLAGS=-I/spare/local/include -I/usr/kerberos/include"
"LDFLAGS=-L/spare/local/lib" ./configure --prefix=/spare/local
--enable-ldap --enable-bdb



Its just cyrus that has a problem with it, everything else finds the
correct version.


Best,
Akshay



On Sat, 23 Oct 2004, Dominic Ijichi wrote:

> Quoting Akshay Kumar <akshay at cs.columbia.edu>:
>
> > Has anyone had any luck using the lastest version of BDB 4.2.52 w/ the
> > cyrus 2.2.8?
> >
> > I compiled Berkeley DB 4.2.52. I also succesfully build sendmail, sasl and
> > openldap against this version installed in /spare/local.
> > But I am having problems getting cyrus-imap to use this version.
> >
> > I tried:
> >
> > env "CPPFLAGS=-I/spare/local/include -I/usr/kerberos/include"
> > "LDFLAGS=-L/spare/local/lib" ./configure --prefix=/spare/local
> > --with-cyrus-prefix=/spare/local/cyrus --with-bdb=/spare/local
> > --with-bdb-libdir=/spare/local/lib
> > --with-bdb-incdir=/spare/local/include --with-snmp=/spare/local/lib
> >
> > make depend
> > make all CFLAGS=-O
> >
> > BDB is installed in /spare/local
> >
> > Syslog throws the following error:
> >
> > Oct 20 11:28:19 test ctl_cyrusdb[18987]: incorrect version of Berkeley db:
> > compiled against 4.2.52, linked against 4.0.14
>
> hi, you dont say what OS you're using, which doesnt help much here...
>
> looks like its picking up the correct db.h but not the correct libdb-4.so.  if
> its linux, make sure you haven't got the db4 and db4-devel rpms installed, as
> even if you put /spare/local/lib in /etc/ld.so.conf it will still look in
> /usr/lib first which is where the system db4 rpm throws the libs.  you could try
> changing 'LDFLAGS=-L/spare/local/lib" to 'LDFLAGS=-L/spare/local/lib
> -R/spare/local/lib".  if you use LD_LIBRARY_PATH, put /spare/local/lib in first,
> or at least before /usr/lib.  if you're using crle/ldconfig then i'm not sure
> how you override the system lib paths, if you can at all, i usually forcibly
> remove the system db4 rpms to eliminate any conflict,but this is not advised
> unless you know the OS really well.
>
> oh, also make sure your libs have built correctly, do 'ldd -r
> /space/local/lib/libdb-4.2.so' and make sure you don't get any errors.
>
> ------------------------------------------
> This message was penned by the hand of Dom
>
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list