IMAPD-2.2 on SuSE Alpha Linux

Mike O'Rourke mike.orourke at op.org
Sat Feb 22 16:13:02 EST 2003


Hi All,

First of all, thanks to the development team for a _great_ package. I have 
been using it on 3 servers for about two years now.

I am building the (CVS) 2.2 branch (like everybody else, I need virtual 
domain support now.) on SuSE 7.1 Linux for the Alpha processor (glibc 
patched to 2.2.33). I have SASL 2.1.12 and Berkeley DB 4.1.25, and my 
configure command is almost identical to that of the 2.1.x builds on this 
machine (I took out --enable-fulldirhash this time):

export CPPFLAGS='-I/usr/local/BerkeleyDB.4.1/include -I/usr/local/ssl/include'
export LDFLAGS='-L/usr/local/lib/mysql -L/usr/local/ssl/lib 
-L/usr/local/lib/sas
l2'
export LIBS='-lssl -lmysqlclient'
./configure --with-dbdir=/usr/local/BerkeleyDB.4.1 \
  --with-bdb-libdir=/usr/local/BerkeleyDB.4.1/lib \
  --with-bdb-incdir=/usr/local/BerkeleyDB.4.1/include \
  --with-auth=unix \
  --with-openssl=/usr/local/ssl \
  --enable-netscapehack \
  --with-sasl=/usr/local/lib/sasl2 \
  --with-staticsasl=/usr/local \
  --with-perl

The configure and build go along fine, but when I start the server, it 
"hangs" with no output to the logfile. I ran it in gdb, and it is looping 
in the hash_insert ( ) function after being called from config_read. A 
backtrace shows me this:
(gdb) backtrace
#0  0x12001c8dc in hash_insert ()
#1  0x12000747c in config_read (alt_config=0x120032220 "/var/spool/imap")
     at ../lib/libconfig.c:336
#2  0x1200078c4 in masterconf_init (ident=0x12000a8b1 "master",
     alt_config=0x120032220 "/var/spool/imap") at masterconf.c:79
#3  0x120005928 in main (argc=1, argv=0x11ffff698) at master.c:1358
#4  0x200003756ac in __libc_start_main () from /lib/libc.so.6.1

the "loop" is thus:
(gdb) stepi
0x12001c8d4 in hash_insert ()
(gdb)
0x12001c8d8 in hash_insert ()
(gdb)
0x12001c8dc in hash_insert ()
(gdb)
0x12001c8d4 in hash_insert ()
(gdb)
0x12001c8d8 in hash_insert ()
(gdb)
0x12001c8dc in hash_insert ()

Some possibly useful variables:
(gdb) print key
$1 = 0
(gdb) print confighash
$2 = {size = 30, table = 0x1200317d0, pool = 0x120031780}
(gdb) print data
$3 = 0

I have tried using Berkeley DB 4.0, but get the same result. I am about to 
try to compile it with the Compaq C compiler (ccc), but I don't expect any 
improvement.

Cyrus-IMAPd-2.1.12 builds and runs fine on this machine. The only 
difference I see is that you have switched from using "hash" to "strhash", 
and using the built-in if it is available, but I do not think my system has 
strhash, so this should not make any difference.

Does anyone have any ideas about a solution, or suggestions as to where I 
might proceed before I wade in deeper into the unknown waters of the Cyrus 
code?

Thanks for any help.

Mike.





More information about the Info-cyrus mailing list