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