# Prerequisites and other notes

The following programs and/or packages are required.

- libsasl, version 2.1.7 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 for IMAP/POP3 wrapped in SSL (the imaps/pop3s ports). 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..
- Net-SNMP (formerly UCD-SNMP), version 4.2 or higher. Required for SNMP monitoring of the IMAP server. Available from http://www.net-snmp.org/.
- 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.12.8 or higher, available from http://www.sendmail.org. Others have reported success with Postfix.

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`.

last modified: $Date: 2010/01/06 17:01:29 $