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

- 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 - libcyrus_sieve 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 $