After the dB-problems earlier this week I'm trying to build the latest and greatest cyrus-imap, with Berkeley-DB 4.0.14 as suggested.
I've run into a few minor issues though:
When doing a configure on cyrus-sasl-2.1.12, it won't do anything with the '--with-openssl' option. Looking in the configure-source, line 4891, it turns out that the actual option to use
is '--with-with-openssl', which is caused by line 611 of configure.in. Proposed patch:
*** configure.in.orig Sat Mar 15 23:45:34 2003
--- configure.in Sat Mar 15 23:45:50 2003
***************
*** 608,614 ****
dnl Test for OpenSSL
dnl
IMAP_PROGS=""
! AC_ARG_WITH(with-openssl,[ --with-openssl=PATH use OpenSSL from PATH],
with_openssl="${withval}")
OPENSSL_INC= --- 608,614 ---- dnl Test for OpenSSL dnl IMAP_PROGS="" ! AC_ARG_WITH(openssl,[ --with-openssl=PATH use OpenSSL from PATH], with_openssl="${withval}")
OPENSSL_INC=
Caveat: I haven't actually tested the patch because I don't have the whole automake/autoconf chain setup on that particular machine, but it seems a no-brainer.
In cyrus-imapd-2.1.12 I ran into another configure-problem:
In line 2853 of configure, the command-line being built to test for the berkley-db has the library-itself listed before the -L searchpath. Apparently the linker on Solaris gets a bit confused about this, and refuses to find libdb.so. Reversing the two values in the LIBS variable makes things work for me, and doesn't seem likely to break anything for anyone else. Suggested patch:
*** aclocal.m4.orig Sun Mar 16 00:00:04 2003 --- aclocal.m4 Sun Mar 16 00:01:47 2003 *************** *** 455,461 ****
for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
do
! AC_CHECK_LIB($dbname, db_create, BDB_LIBADD="$BDB_LIBADD -l$dbname";
dblib="berkeley"; break, dblib="no")
done
if test "$dblib" = "no"; then
--- 455,461 ----
for dbname in db-4.1 db4.1 db-4.0 db4.0 db-4 db4 db-3.3 db3.3 db-3.2 db3.2 db-3.1 db3.1 db-3 db3 db
do
! AC_CHECK_LIB($dbname, db_create, BDB_LIBADD="-l$dbname $BDB_LIBADD";
dblib="berkeley"; break, dblib="no")
done
if test "$dblib" = "no"; then
Once again, untested. But changing the configure script itself did help me get past this hurdle.
The next problem I can't fix as easily. When compiling imap/squat.c:
"./../lib/xmalloc.h", line 69: syntax error before or at: __attribute__
"./../lib/xmalloc.h", line 69: warning: old-style declaration or incorrect type for: __attribute__
"./../lib/xmalloc.h", line 69: warning: syntax error: empty declaration
cc: acomp failed for squat.c
The system in question is a Solaris 9 machine, using Sun One Compiler-Collection (aka Forte 7).
Does anyone have suggestions here?
Regards, Paul Boven.