]> Pileus Git - ~andy/fetchmail/blobdiff - INSTALL
Note Earl's regression fix for SSL_CTX_clear_options() on older OpenSSL.
[~andy/fetchmail] / INSTALL
diff --git a/INSTALL b/INSTALL
index c697c9676f14524016601ce646d4d8d482551d6b..a0b7520420def7e0cf14f1164f75a5883940e205 100644 (file)
--- a/INSTALL
+++ b/INSTALL
-               INSTALL Instructions for fetchmail
+INSTALL Instructions for fetchmail
+==================================
 
-If you have installed binaries (e.g. from an RPM) you can skip to step 4.
+Building from Git repository: see README.git
 
-If you are a Linux system packager, be aware that the build process generates
-an RPM spec file at fetchmail.spec.
+Packagers and port/emerge maintainers: see README.packaging.
 
-1. CONFIGURE
+
+If you have installed binaries (e.g. from a Linux RPM or DPKG, Solaris
+package or FreeBSD port), you can skip to step 5 below.
+
+---------------------------------------------------------------------
+The Frequently Asked Questions list, included as the file FAQ in this
+distribution, answers the most common questions about configuring and
+running fetchmail.
+---------------------------------------------------------------------
+
+
+1. PREPARATIONS: USEFUL THINGS TO INSTALL FIRST
+
+1.1 OpenSSL
+
+If you are installing OpenSSL yourself, it is recommended that you build
+shared OpenSSL libraries, it works better and updating OpenSSL does not
+then require you to reinstall all applications that use OpenSSL.
+
+Try after unpacking OpenSSL:
+
+       ./config shared && make && make test && make install
+
+1.2 gettext (internationalization)
+
+Internationalization of fetchmail requires GNU gettext (libintl and
+libiconv). Fetchmail, as of version 6.3.0, no longer ships its own
+libintl copy.  Note that some systems include gettext in their libc.
+
+1.3 OTP/OPIE
+
+If you want support for RFC1938-compliant one-time passwords, you'll
+need to install Craig Metz's OPIE libraries first and *make sure
+they're on the normal library path* where configure will find them.  Then
+configure with --enable-OPIE, and fetchmail build process will detect
+them and compile appropriately.
+
+Note: there is no point in doing this unless your server is
+OTP-enabled.  To test this, telnet to the server port and give it
+a valid USER id.  If the OK response includes the string "otp-",
+you should install OPIE.  You need version 2.32 or better.
+
+The OPIE library sources are available at http://www.inner.net/pub/opie/
+You can also find OPIE and IPV6-capable servers there.
+
+1.4 IPv6
+
+Building in IPv6 support *requires* an up-to-date operating system.
+Recent Linux versions with glibc 2.1.1 or newer, FreeBSD, Solaris should
+be fine.
+
+If you have trouble with intl or gettext functions, try using the
+configure option '--with-included-gettext'.
+
+
+2. CONFIGURE
+
+2.1 Basic options
 
 Installing fetchmail is easy.  From within this directory, type:
 
+       ./configure --with-ssl
+
+if you have OpenSSL (and its developer packages, if separate) installed
+on your system, or if you don't or do not need SSL/TLS support:
+
        ./configure
 
 The autoconfiguration script will spend a bit of time figuring out the
 specifics of your system.  If you want to specify a particular compiler
-(e.g. you have gcc but want to compile with cc), set the environment 
-variable CC before you run configure.  
+(e.g. you have gcc but want to compile with cc), set the environment
+variable CC before you run configure.
 
 The configure script accepts certain standard configuration options.
 These include --prefix, --exec-prefix, --bindir, --infodir, --mandir,
-and --srcdir.  Do `config --help' for more.
+and --srcdir.  Do 'configure --help' for more.
+
+POP2 support is no longer compiled in by default, as POP2 is way obsolete
+and there don't seem to be any live servers for it anymore.  You can
+configure it back in if you want with 'configure --enable-POP2', but
+leaving it out cuts the executable's size slightly.
+
+Support for CompuServe's RPA authentication method (rather similar to
+APOP) is available but also not included in the standard build.  You
+can compile it in with 'configure --enable-RPA'.
 
-If you're running QNX, edit the distributed Makefile directly.  The
-QNX values for various macros are there but commented out; all you
-have to do is uncomment them.
+Support for Microsoft's NTLM authentication method is also available
+but not included in the standard build either.  You can compile it in
+with 'configure --enable-NTLM'.
 
-2. MAKE 
+Support for authentication using RFC1731 GSSAPI is available
+but also not included by default.  You can compile it in with
+'configure --with-gssapi', which looks for GSSAPI support in standard
+locations (/usr, /usr/local).  If you set --with-GSSAPI=DIR
+you can direct the build to look for GSSAPI support under DIR.
 
-Next run
+Hooks for the OpenSSL library (see http://www.openssl.org/) are
+included in the distribution.  To enable these, configure with
+--with-ssl; they are not included in the standard build. Fetchmail's
+configure script will probe some default locations for the
+include/openssl/ssl.h file. If this doesn't work (i. e. configure prints
+"SSL support enabled, but OpenSSL not found" and aborts), you need to
+give the explicit prefix of your OpenSSL installation (specify the
+directory that contains OpenSSL's "include" subdirectory), for instance:
+"--with-ssl=/example/path" would assume that you have an
+/example/path/include/openssl/ssl.h header file.
+
+2.2 Advanced options
+
+Specifying --with-kerberos=DIR or --with-kerberos5=DIR will tell the
+fetchmail build process to look in DIR for Kerberos support.
+Configure normally looks in /usr/kerberos and /usr/athena; if you
+specify this option with an argument it will look in DIR first.
+
+Unfortunately, there doesn't seem to be good standardization of where
+Kerberos lives.  If your configuration doesn't match one of the four
+that fetchmail's configure.in knows about, you may find you have to
+hand-hack the Makefile a bit.
+
+You may also want to hand-hack the Makefile if you're writing a custom
+or bleeding-edge resolver library.  In that case you will probably
+want to add -lresolv or whatever to the definition of LOADLIBS.
+
+It is also possible to explicitly condition out the support for
+POP3, IMAP, and ETRN (with configure arguments of --disable-POP3,
+--disable-IMAP, and --disable-ETRN respectively).
+
+
+3. BUILD
+
+Run
 
        make
 
-This will compile fetchmail for your system.  Note that in order to
-build it, you'll need either flex at version 2.5.3 or greater, or lex.
+This should compile fetchmail for your system.  If fetchmail fails to build
+properly, see the FAQ section B on build-time problems.
 
-If mxget.c fails to compile, your DNS-query support isn't compatible
-with BSD's and Linux's.  Manually undefine HAVE_GETHOSTBYNAME in
-config.h and rebuild.  You'll lose the multidrop-mailbox feature and
-Kerberos option, but nothing else.
 
-3. INSTALL
+4. INSTALL
 
 Lastly, become root and run
 
        make install
 
 This will install fetchmail.  By default, fetchmail will be installed
-in /usr/local/bin, with the man page in /usr/local/man/man1.  If you
-wish to change these defaults, edit the Makefile AFTER you run
-"configure" but BEFORE you run "make install."  You can easily choose
-a prefix other than /usr/local, or you can choose completely different
-directories for each item.
-
-NOTE: If you are using exim, you must configure it to accept local
-addresses as valid RCPT TO lines.
-
-4. SET UP A RUN CONTROL FILE
-
-See the man page or the file sample.rcfile for a description of how to
-configure your individual preferences.
-
-Note: if you have been using popclient (the ancestor of this program)
-at version 3.0b6 or later, do this
-
-(cd ~; mv ~/.poprc ~/.fetchmailrc)
-
-in order to migrate.  Be aware that some of popclient's unnecessary
-options have been removed (see the NOTES file for explanation).  You
-can't deliver to a local mail file anymore or to standard output any
-more, and using an MDA for delivery is discouraged.  If you throw
-those options away, fetchmail will now forward your mail into your
-system's normal Internet-mail delivery path.
-
-If you use an MDA with popclient or an older version of fetchmail that
-requires %s in the MDA string in order to substitute in a local
-delivery address, remove it.  One consequences of the internal changes
-to support multi-drop mailboxes is that local delivery addresses will
-be appended to the end of the command in the obvious way.
-
-Actually, using an MDA is now almost always the wrong thing; the MDA
-facility has been retained only for people who can't or won't run a
-sendmail-like SMTP listener on port 25. The default, SMTP forwarding
-to port 25, is better for at least two major reasons.  One: it feeds
-retrieved POP and IMAP mail into your system's normal delivery path
-along with local mail and normal Internet mail.  Two: because the port
-25 listener returns a positive acknowledge, fetchmail can be sure
-you're not going to lose mail to a disk-full or some other
-resource-exhaustion problem.
-
-If you used to use -mda "procmail -d <you>" or something similar, forward
-to port 25 and do "| procmail -d <you>" in your ~/.forward file.
-
-5. TEST
-
-I strongly recommend that your first fetchmail run use the -v and -k
+in /usr/local/bin, with the man page in /usr/local/man/man1.  You can
+use the configure options --bindir and --mandir to change these.
+
+If you are tight on disk space, you can run instead
+
+       make install-strip
+
+NOTE: If you are using an MTA other than sendmail (such as qmail,
+exim, or smail), see the FAQ (section T) for discussion of any special
+configuration steps that may be necessary.
+
+
+5. SET UP A RUN CONTROL FILE
+
+See the man page for a description of how to configure your individual
+preferences.
+
+If you're upgrading from popclient, see question F4 in the FAQ file.
+
+
+6. TEST
+
+I strongly recommend that your first fetchmail run use the -v, -a and -k
 options, in case there is something not quite right with your server,
 your local delivery configuration or your port 25 listener.  Also,
 beware of aliases that direct your local mail back to the server host!
 
-This software is known to work with the qpop/popper series of
-freeware POP3 servers; also with the imapd servers that are
-distributed with Pine from the University of Washington.  Other
-POP3 servers have been known to give it indigestion.  Test carefully!
-If you have problems, try to switch to IMAP.
+This software is known to work with the qpop/popper series of freeware
+POP3 servers; also with the IMAP2bis and IMAP4 servers that are
+distributed with Pine from the University of Washington; also with the
+Cyrus IMAP server from CMU.  This covers all the servers commonly
+hosted on Linux and *BSD systems.  It also works with the IMAP service
+of Microsoft Exchange, despite the fact that Microsoft Exchange is
+extremely broken (returns incorrect message lengths in LIST
+responses).
+
+See the FAQ, section S, for detailed advice on running with various
+servers.
+
+
+7. REPORTING BUGS
+
+You should read the FAQ file question G3 before reporting a bug.
+
 
-If you're going to use multi-drop mailboxes, test with particular care.
-This code was very difficult to test and should be considered experimental.
+8. USE IT
 
-6. USE IT
+Once you've verified your configuration, you can start fetchmail to
+run in background and forget about it.  Enjoy!
 
-Enjoy!
 
+END of text file INSTALL