Something in CVS 2.2 changed since 26 Sept 2002 that apparently makes for trouble compiling it under Red Hat 7.3.
(1) The first issue is probably just the a lack of a #include <mkgmtime.h> before using a struct tm in lib/mkgmtime.c (make output at end of message). There is a similar omission (of #include <gmtoff.h>) in lib/gmtoff_tm.c as well. Why wouldn't a .c file include its own .h file? Must be an 'in progress' minor buglet. (2) Hacking those in gets me slightly further, but then I get gcc -c -I.. -I/usr/include/et -I/usr/local/include -I/usr/include -DHAVE_CONFIG_H -I. -I. -Wall -O2 -march=i386 -mcpu=i686 -fPIC \ cyrusdb.c cyrusdb.c: In function `cyrusdb_init': cyrusdb.c:77: `FNAME_DBDIR' undeclared (first use in this function) cyrusdb.c:77: (Each undeclared identifier is reported only once cyrusdb.c:77: for each function it appears in.) make: *** [cyrusdb.o] Error 1 which I have not (yet?) figured out. FNAME_DBDIR is defined in acconfig.h but nowhere else. Hacking its value (of "/db") into the end of lib/cyrusdb.h gets me further... but I know that's a bad approach! Do I have an underlying autoconf or configure problem? (3) Even then, I soon get something about MASTER_PIDFILE in master.c ... Is CVS for 2.2 currently intentionally unusable? If so, when is it likely to become reasonably safe to grab and use once more? Or, am I just being (even) more dense than usual? If so, help getting the current CVS tree to compile would be welcomed :-) Thanks, Jonathan PS. There is also an issue with the search for libdes failing if I try to compile with Kerberos support, which I think is an older issue that has returned to haunt me? RH 7.3 lacks a libdes.a library, the needed functions are in libdes425.a instead. Looks like the configure checks got stricter, and now break on RH 7.3, though in September they worked OK? ------------------------------------------------------------------------ make[1]: Entering directory `/home/jonathan/cyrus-imapd-2.2/lib' gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ acl.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ assert.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ bsearch.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ charset.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ glob.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ retry.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ util.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ libcyr_cfg.c gcc -c -I.. -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -Wall -g -O2 \ mkgmtime.c mkgmtime.c: In function `tmcomp': mkgmtime.c:102: dereferencing pointer to incomplete type mkgmtime.c:102: dereferencing pointer to incomplete type mkgmtime.c:103: dereferencing pointer to incomplete type mkgmtime.c:103: dereferencing pointer to incomplete type mkgmtime.c:104: dereferencing pointer to incomplete type mkgmtime.c:104: dereferencing pointer to incomplete type mkgmtime.c:105: dereferencing pointer to incomplete type mkgmtime.c:105: dereferencing pointer to incomplete type mkgmtime.c:106: dereferencing pointer to incomplete type mkgmtime.c:106: dereferencing pointer to incomplete type mkgmtime.c:107: dereferencing pointer to incomplete type mkgmtime.c:107: dereferencing pointer to incomplete type mkgmtime.c:100: warning: `result' might be used uninitialized in this function mkgmtime.c: In function `mkgmtime': mkgmtime.c:119: storage size of `yourtm' isn't known mkgmtime.c:121: dereferencing pointer to incomplete type mkgmtime.c:137: warning: implicit declaration of function `gmtime' mkgmtime.c:137: warning: assignment makes pointer from integer without a cast mkgmtime.c:119: warning: unused variable `yourtm' mkgmtime.c:117: warning: `saved_seconds' might be used uninitialized in this function make[1]: *** [mkgmtime.o] Error 1 make[1]: Leaving directory `/home/jonathan/cyrus-imapd-2.2/lib' make: *** [all] Error 1