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

last modified: $Date: 2000/06/10 22:54:12 $