(sorry, reposting as my original post didn't seem to hit the list)
Hi
I'm attempting to build imapd 2.2.8 with sasl 2.1.19 on linux 2.4.27 (debian sarge). I'm basically following the HOWTO at http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/t1.html, with things tweaked slightly for current versions.
config for SASL was
./configure --enable-anon --enable-plain --enable-login --disable-krb4 --disable-otp --with-saslauthd=/var/run/saslauthd --with-pam=/lib/security --with-dblib=berkeley --with-bdb-libdir=/usr/local/bdb/lib --with-bdb-incdir=/usr/local/bdb/include --with-plugindir=/usr/local/lib/sasl2 --without-des --with-pam
and for imapd:
./configure --with-sasl=/usr/local/lib --with-perl --with-auth=unix --with-bdb=/usr/local/bdb --with-bdb-libdir=/usr/local/bdb/lib --with-bdb-incdir=/usr/local/bdb/include --with-openssl=/usr/local/ssl --without-ucdsnmp
Berkely DB is db-4.2.52.NC, installed into /usr/local/bdb
--
Everything built cleanly. Config files are pretty much the ones from the HOWTO.
If I start master with a cyrus.conf which only deals with the 'housekeeping', everything looks good: suitably housekeepingish message in /var/log/messages. However as soon as i uncommment any of hte SERVICES lines in cyrus.conf, and restart master, it (or the process its calling?) simply segfaults. Regardless of which service (imapd, pop etc), an strace of master always ends similar to this:
<snip>
open("/lib/libnss_files.so.2", O_RDONLY) = 7
read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\35"..., 512) = 512
fstat64(7, {st_mode=S_IFREG|0644, st_size=34520, ...}) = 0
old_mmap(NULL, 33720, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 0x4034d000
old_mmap(0x40355000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 7, 0x8000) = 0x40355000
close(7) = 0
open("/usr/local/ssl/lib/libdb3.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/bdb/lib/libdb3.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/libdb3.so.3", O_RDONLY) = 7
read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\311"..., 512) = 512
fstat64(7, {st_mode=S_IFREG|0644, st_size=692456, ...}) = 0
old_mmap(NULL, 696044, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 0x40356000
old_mmap(0x403ff000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 7, 0xa8000) = 0x403ff000
close(7) = 0
munmap(0x40018000, 51147) = 0
open("/etc/mtab", O_RDONLY) = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=185, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000
read(7, "/dev/hdc2 / reiserfs rw 0 0\nproc"..., 4096) = 185
close(7) = 0
munmap(0x40018000, 4096) = 0
open("/proc/stat", O_RDONLY) = 7
fstat64(7, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000
read(7, "cpu 530620 0 112755 2023022\ncpu"..., 4096) = 624
read(7, "", 4096) = 0
close(7) = 0
munmap(0x40018000, 4096) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
nesumi:~/src#
...now the only thing (from playing with cyrus years ago) that tweaks my intuition here is that its trying REALLY HARD to find a libdb3.so.3 just before it dies, and i know that cyrus and bdb have always been problematic if various bits of the system are compiled against different releases of it. But:
ldd /usr/cyrus/bin/master
libresolv.so.2 => /lib/libresolv.so.2 (0x40025000)
libdb-4.2.so => /usr/local/bdb/lib/libdb-4.2.so (0x40037000)
libssl.so.0.9.7 => /usr/local/ssl/lib/libssl.so.0.9.7 (0x400f1000)
libcrypto.so.0.9.7 => /usr/local/ssl/lib/libcrypto.so.0.9.7 (0x4011f000)
libc.so.6 => /lib/libc.so.6 (0x40212000)
libdl.so.2 => /lib/libdl.so.2 (0x40345000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
and
ldd /usr/local/sbin/saslauthd libcrypt.so.1 => /lib/libcrypt.so.1 (0x40025000) libresolv.so.2 => /lib/libresolv.so.2 (0x40052000) libpam.so.0 => /lib/libpam.so.0 (0x40064000) libc.so.6 => /lib/libc.so.6 (0x4006c000) libdl.so.2 => /lib/libdl.so.2 (0x401a0000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
so i really don't knwo what gives -- anyone have any ideas?
thanks
--- 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