Prerequisites and other notes

    The following programs and/or packages are required. 

      * libsasl, version 1.5.15 or higher. To obtain libsasl, ftp it from
        ftp.andrew.cmu.edu. Earlier versions of SASL will not work; please
        get the latest one. Configure SASL so that it supports whatever
        authentication method your site uses. Please pay careful attention
        to the SASL configuration. This is the biggest problem that most
        people have. 
      * Berkeley DB, version 3.0.55 or higher. Berkeley DB can be obtained
        from Sleepycat. It is strongly recommended that libsasl be compiled
        with Berkeley DB support, using the same version of Berkeley DB.
        (If you have a Berkeley DB version mismatch, somewhat perplexing
        crashes result.) 
      * GNU Make is required. Get it from the Free Software Foundation. It
        is probably easier to find it via ftp. 

    The following programs and/or packages are required for specific
    features. If you don't have them, certain features of the IMAP server
    will be disabled. 

      * makedepend. A version is included in the makedepend subdirectory of
        the distribution. Try and install it before installing the Cyrus
        IMAPd. If it fails, the configure script will use a dummy shell
        script instead of makedepend, and you should be sure to always give
        the command "make clean" before "make all". If you don't mind
        builds taking longer, this isn't a big deal and you can ignore any
        makedepend errors. 
      * Perl, version 5. To obtain Perl, see the comprehensive Perl
        archive. This is required for cyradm (written by Brandon Allbery).
        It is also used for some installation scripts: you don't need it
        but it may make your life easier. We recommend at least version
        5.00502. 
      * OpenSSL, version 0.9.4 or higher. Required for STARTTLS support and
        eventually for IMAP wrapped in SSL (the imaps port). Available from
        http://www.openssl.org/. 
      * libwrap, from Wietse Venema. This will allow one to control who is
        accessing what service, based on IP address. Available from
        ftp://ftp.porcupine.org/pub/security/ in the tcp_wrappers package.. 
      * If you use AFS PTS support for groups, Cyrus still depends on
        Kerberos and AFS. If you successfully compiled SASL with your
        Kerberos library, it's likely that it will work well with Cyrus. 
      * We recommend using an MTA (mail transfer agent) that supports LMTP
        (local mail transfer protocol). We use Sendmail and recommend
        version 8.10.0 or higher, available from http://www.sendmail.org.
        Others have reported success with Postfix. 
      * If you want to export netnews newsgroups using IMAP, the IMAP
        server must receive newsgroups with the INN news server. We are
        also working on patches to the INN news server to allow it to
        deliver newsgroups via LMTP. 
      * For SNMP monitoring of the IMAP server, AgentX and pthreads is
        required. The CMU implementation is available from our Network
        Development group at http://www.net.cmu.edu/groups/netdev/agentx/. 
      * For the Cyrus Murder, the IMAP aggregator, an ACAP server is
        required. You can get an ACAP server from the Cyrus project. 

    The following programs and/or packages are recommended: 

      * flex - libsieve has two different lexical analyzers, and that's
        hard to do with traditional lex. 
      * gcc - we build using gcc and the compiler options -O2 -g. 

