Building cyrus-imap on Debian/Sarge.
Adi Linden
adil at adis.on.ca
Sat Oct 16 14:21:43 EDT 2004
I managed to figure out how to get thing to build with the Debian libdb4.2
package. I am still working on getting things configured, so how knows,
maybe I'll into more issues later. But this is how I built cyrus-sasl and
cyrus-imap on Debian/Sarge.
First a patch war required to force configure to use libdb-4.2. These
changes I found somewhere deep within the bowels of Google, didn't record
the actual link/source.
--- berkdb.m4.orig 2004-10-16 11:37:49.000000000 -0500
+++ berkdb.m4 2004-10-16 11:41:11.000000000 -0500
@@ -211,11 +211,13 @@
BDB_LIBADD=""
fi
- for dbname in db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
- do
- AC_CHECK_LIB($dbname, db_create, BDB_LIBADD="$BDB_LIBADD -l$dbname";
- dblib="berkeley"; break, dblib="no")
- done
+# for dbname in db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
+# do
+# AC_CHECK_LIB($dbname, db_create, BDB_LIBADD="$BDB_LIBADD -l$dbname";
+# dblib="berkeley"; break, dblib="no")
+# done
+ BDB_LIBADD="$BDB_LIBADD -ldb-4.2";
+ dblib="berkeley";
if test "$dblib" = "no"; then
AC_CHECK_LIB(db, db_open, BDB_LIBADD="$BDB_LIBADD -ldb";
dblib="berkeley"; dbname=db,
I haven't used libtool, automake, autoconf, etc all that much. I really
don't understand what happens, but the order I did these things in seemed
to work.
cyrus-sasl
----------
The cyrus-sasl package was installed from source since the Debian package
had many dependencies and feature we didn't need. The source file was
obtained
from <ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.19.tar.gz>.
tar xzf cyrus-sasl-2.1.19.tar.gz
cd cyrus-sasl-2.1.19
The patches/berkdb.m4.diff patch was applied to correctly build cyrus-sasl
with the Debian libdb4.2 package.
cd cmulocal
patch < ../../cyrus-sasl-berkdb.m4.diff
cd ..
rm -f config/libtool.m4
libtoolize --force
aclocal-1.6 -I cmulocal -I config
autoheader
automake-1.6
autoconf
cd saslauthd
aclocal-1.6 -I ../cmulocal -I ../config
autoheader
automake-1.6
autoconf
cd ..
./configure \
--enable-plain \
--enable-login \
--disable-anon \
--disable-java \
--disable-cram \
--disable-digest \
--disable-otp \
--disable-srp \
--disable-krb4 \
--disable-gssapi \
--disable-ntlm \
--disable-sql \
--with-dblib=berkeley \
--with-bdb-libdir=/usr/lib \
--with-bdb-incdir=/usr/include \
--with-openssl=/usr/lib \
--with-pam=/lib/security \
--with-saslauthd=/var/run/saslauthd \
--with-mysql=/usr/lib
make
make install
mkdir -p /var/run/saslauthd
cd saslauthd/
make testsaslauthd
cp testsaslauthd /usr/local/bin
echo /usr/local/lib/sasl2 >> /etc/ld.so.conf
ldconfig
ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
cyrus-imapd
-----------
The cyrus-imapd package was installed from source. The source was obtained
from <ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.2.8.tar.gz>.
tar xzf cyrus-imapd-2.2.8.tar.gz
cd cyrus-imapd-2.2.8
The patches/berkdb.m4.diff patch was applied to correctly build
cyrus-imapd
with the Debian libdb4.2 package.
cd cmulocal
patch < ../../cyrus-imapd-berkdb.m4.diff
cd ..
rm -f config/libtool.m4
rm -f configure
sh SMakefile
./configure \
--enable-sieve \
--enable-servers \
--disable-nntp \
--disable-murder \
--disable-cmulocal \
--disable-gssapi \
--with-cyrus-prefix=/usr/local/cyrus \
--with-auth=unix \
--with-dbdir \
--with-bdb-libdir=/usr/lib \
--with-bdb-incdir=/usr/include \
--with-openssl=/usr/lib \
--with-perl \
--with-sasl=/usr/local/lib \
--without-afs \
--without-ldap \
--without-krb
make
make install
Thanks,
Adi
---
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
More information about the Info-cyrus
mailing list