I just upgraded our mailserver distribution and
wanted also to upgrade from exim 3.16 to exim 3.22.
Unfortunately I now always get segmentation fault
as soon as I start exim.
I assume it is something like Q505 in the FAQ.
It looks like one of the first things exim
does when he comes up is to lookup our ldap
server. This leads into a segmentation fault.
So if it has something to do with the db packages
(what a mess of different versions) I'm not quite
sure how solve this...
I tried this config:
### CONFIG START ####
BIN_DIRECTORY=/usr/exim/bin
COMPRESS_COMMAND=/usr/bin/gzip
COMPRESS_SUFFIX=gz
ZCAT_COMMAND=/usr/bin/zcat
CONFIGURE_FILE=/etc/exim/configure
DIRECTOR_ALIASFILE=yes
DIRECTOR_FORWARDFILE=yes
DIRECTOR_LOCALUSER=yes
DIRECTOR_SMARTUSER=yes
EXICYCLOG_MAX=10
EXIM_UID=95
EXIM_GID=12
LOG_FILE_PATH=/var/log/exim/%s.log
LOOKUP_DBM=yes
LOOKUP_LSEARCH=yes
LOOKUP_LDAP=yes
LOOKUP_INCLUDE=-I /usr/local/ldap/include
LOOKUP_LIBS=-L/usr/local/lib -lldap -llber
INCLUDE=-I /usr/include/db2
DBMLIB=-ldb2
USE_DB = yes
LDAP_LIB_TYPE=OPENLDAP2
ROUTER_DOMAINLIST=yes
ROUTER_IPLITERAL=yes
ROUTER_LOOKUPHOST=yes
ROUTER_QUERYPROGRAM=yes
SPOOL_DIRECTORY=/var/spool/mail
SUPPORT_PAM=yes
EXTRALIBS=-lpam -ldl
TRANSPORT_APPENDFILE=yes
TRANSPORT_AUTOREPLY=yes
TRANSPORT_PIPE=yes
TRANSPORT_SMTP=yes
### CONFIG STOP ####
Some info about the system:
mogh:~ # locate dbm.h
/usr/include/dbm.h
/usr/include/gdbm.h
/usr/include/ndbm.h
mogh:~ # locate db.h
/usr/include/db1/db.h
/usr/include/db2/db.h
mogh:~ # ldconfig -v|grep ldap
libnss_ldap.so.2 -> libnss_ldap.so.2
libldap_r.so.2 -> libldap_r.so.2.0.5
libldap.so.2 -> libldap.so.2.0.5
libldap.so.1 -> libldap.so.1.0.0
mogh:~ # ldconfig -v|grep db
libthread_db.so.1 -> libthread_db.so.1
libdb.so.3 -> libdb.so.3
libdb.so.2 -> libdb.so.2
libdb_cxx-3.1.so -> libdb_cxx-3.1.so
libdb-3.1.so -> libdb-3.1.so
libgdbm.so.2 -> libgdbm.so.2.0.0
libgdbm.so.1 -> libgdbm.so.1.7.3
This our running version:
mogh:~ # ldd exim
libnsl.so.1 => /lib/libnsl.so.1 (0x4001e000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40034000)
libpam.so.0 => /lib/libpam.so.0 (0x40062000)
libdl.so.2 => /lib/libdl.so.2 (0x4006a000)
libdb.so.3 => /lib/libdb.so.3 (0x4006d000)
libresolv.so.2 => /lib/libresolv.so.2 (0x400ab000)
libldap.so.1 => /usr/lib/libldap.so.1 (0x400bc000)
liblber.so.1 => /usr/lib/liblber.so.1 (0x400d1000)
libmysqlclient.so.6 => /usr/lib/libmysqlclient.so.6 (0x400d7000)
libpq.so.2.1 => /usr/lib/libpq.so.2.1 (0x40106000)
libc.so.6 => /lib/libc.so.6 (0x40115000)
libz.so.1 => /lib/libz.so.1 (0x40228000)
libm.so.6 => /lib/libm.so.6 (0x40237000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
And this is the broken one:
mogh:~ # ldd /usr/exim/bin/exim
libnsl.so.1 => /lib/libnsl.so.1 (0x4001e000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40034000)
libpam.so.0 => /lib/libpam.so.0 (0x40062000)
libdl.so.2 => /lib/libdl.so.2 (0x4006a000)
libdb.so.3 => /lib/libdb.so.3 (0x4006d000)
libresolv.so.2 => /lib/libresolv.so.2 (0x400ab000)
libldap.so.2 => /usr/lib/libldap.so.2 (0x400bc000)
liblber.so.2 => /usr/lib/liblber.so.2 (0x400e7000)
libc.so.6 => /lib/libc.so.6 (0x400f2000)
libsasl.so.7 => /usr/lib/libsasl.so.7 (0x40205000)
libssl.so.0 => /usr/lib/libssl.so.0 (0x40210000)
libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0x4023d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x402fd000)
Can some please give me a hint.
BTW: Sorry for the long post ;)
--
Torsten