]> Pileus Git - ~andy/fetchmail/blob - INSTALL
Note Earl's regression fix for SSL_CTX_clear_options() on older OpenSSL.
[~andy/fetchmail] / INSTALL
1 INSTALL Instructions for fetchmail
2 ==================================
3
4 Building from Git repository: see README.git
5
6 Packagers and port/emerge maintainers: see README.packaging.
7
8
9 If you have installed binaries (e.g. from a Linux RPM or DPKG, Solaris
10 package or FreeBSD port), you can skip to step 5 below.
11
12 ---------------------------------------------------------------------
13 The Frequently Asked Questions list, included as the file FAQ in this
14 distribution, answers the most common questions about configuring and
15 running fetchmail.
16 ---------------------------------------------------------------------
17
18
19 1. PREPARATIONS: USEFUL THINGS TO INSTALL FIRST
20
21 1.1 OpenSSL
22
23 If you are installing OpenSSL yourself, it is recommended that you build
24 shared OpenSSL libraries, it works better and updating OpenSSL does not
25 then require you to reinstall all applications that use OpenSSL.
26
27 Try after unpacking OpenSSL:
28
29         ./config shared && make && make test && make install
30
31 1.2 gettext (internationalization)
32
33 Internationalization of fetchmail requires GNU gettext (libintl and
34 libiconv). Fetchmail, as of version 6.3.0, no longer ships its own
35 libintl copy.  Note that some systems include gettext in their libc.
36
37 1.3 OTP/OPIE
38
39 If you want support for RFC1938-compliant one-time passwords, you'll
40 need to install Craig Metz's OPIE libraries first and *make sure
41 they're on the normal library path* where configure will find them.  Then
42 configure with --enable-OPIE, and fetchmail build process will detect
43 them and compile appropriately.
44
45 Note: there is no point in doing this unless your server is
46 OTP-enabled.  To test this, telnet to the server port and give it
47 a valid USER id.  If the OK response includes the string "otp-",
48 you should install OPIE.  You need version 2.32 or better.
49
50 The OPIE library sources are available at http://www.inner.net/pub/opie/
51 You can also find OPIE and IPV6-capable servers there.
52
53 1.4 IPv6
54
55 Building in IPv6 support *requires* an up-to-date operating system.
56 Recent Linux versions with glibc 2.1.1 or newer, FreeBSD, Solaris should
57 be fine.
58
59 If you have trouble with intl or gettext functions, try using the
60 configure option '--with-included-gettext'.
61
62
63 2. CONFIGURE
64
65 2.1 Basic options
66
67 Installing fetchmail is easy.  From within this directory, type:
68
69         ./configure --with-ssl
70
71 if you have OpenSSL (and its developer packages, if separate) installed
72 on your system, or if you don't or do not need SSL/TLS support:
73
74         ./configure
75
76 The autoconfiguration script will spend a bit of time figuring out the
77 specifics of your system.  If you want to specify a particular compiler
78 (e.g. you have gcc but want to compile with cc), set the environment
79 variable CC before you run configure.
80
81 The configure script accepts certain standard configuration options.
82 These include --prefix, --exec-prefix, --bindir, --infodir, --mandir,
83 and --srcdir.  Do 'configure --help' for more.
84
85 POP2 support is no longer compiled in by default, as POP2 is way obsolete
86 and there don't seem to be any live servers for it anymore.  You can
87 configure it back in if you want with 'configure --enable-POP2', but
88 leaving it out cuts the executable's size slightly.
89
90 Support for CompuServe's RPA authentication method (rather similar to
91 APOP) is available but also not included in the standard build.  You
92 can compile it in with 'configure --enable-RPA'.
93
94 Support for Microsoft's NTLM authentication method is also available
95 but not included in the standard build either.  You can compile it in
96 with 'configure --enable-NTLM'.
97
98 Support for authentication using RFC1731 GSSAPI is available
99 but also not included by default.  You can compile it in with
100 'configure --with-gssapi', which looks for GSSAPI support in standard
101 locations (/usr, /usr/local).  If you set --with-GSSAPI=DIR
102 you can direct the build to look for GSSAPI support under DIR.
103
104 Hooks for the OpenSSL library (see http://www.openssl.org/) are
105 included in the distribution.  To enable these, configure with
106 --with-ssl; they are not included in the standard build. Fetchmail's
107 configure script will probe some default locations for the
108 include/openssl/ssl.h file. If this doesn't work (i. e. configure prints
109 "SSL support enabled, but OpenSSL not found" and aborts), you need to
110 give the explicit prefix of your OpenSSL installation (specify the
111 directory that contains OpenSSL's "include" subdirectory), for instance:
112 "--with-ssl=/example/path" would assume that you have an
113 /example/path/include/openssl/ssl.h header file.
114
115 2.2 Advanced options
116
117 Specifying --with-kerberos=DIR or --with-kerberos5=DIR will tell the
118 fetchmail build process to look in DIR for Kerberos support.
119 Configure normally looks in /usr/kerberos and /usr/athena; if you
120 specify this option with an argument it will look in DIR first.
121
122 Unfortunately, there doesn't seem to be good standardization of where
123 Kerberos lives.  If your configuration doesn't match one of the four
124 that fetchmail's configure.in knows about, you may find you have to
125 hand-hack the Makefile a bit.
126
127 You may also want to hand-hack the Makefile if you're writing a custom
128 or bleeding-edge resolver library.  In that case you will probably
129 want to add -lresolv or whatever to the definition of LOADLIBS.
130
131 It is also possible to explicitly condition out the support for
132 POP3, IMAP, and ETRN (with configure arguments of --disable-POP3,
133 --disable-IMAP, and --disable-ETRN respectively).
134
135
136 3. BUILD
137
138 Run
139
140         make
141
142 This should compile fetchmail for your system.  If fetchmail fails to build
143 properly, see the FAQ section B on build-time problems.
144
145
146 4. INSTALL
147
148 Lastly, become root and run
149
150         make install
151
152 This will install fetchmail.  By default, fetchmail will be installed
153 in /usr/local/bin, with the man page in /usr/local/man/man1.  You can
154 use the configure options --bindir and --mandir to change these.
155
156 If you are tight on disk space, you can run instead
157
158         make install-strip
159
160 NOTE: If you are using an MTA other than sendmail (such as qmail,
161 exim, or smail), see the FAQ (section T) for discussion of any special
162 configuration steps that may be necessary.
163
164
165 5. SET UP A RUN CONTROL FILE
166
167 See the man page for a description of how to configure your individual
168 preferences.
169
170 If you're upgrading from popclient, see question F4 in the FAQ file.
171
172
173 6. TEST
174
175 I strongly recommend that your first fetchmail run use the -v, -a and -k
176 options, in case there is something not quite right with your server,
177 your local delivery configuration or your port 25 listener.  Also,
178 beware of aliases that direct your local mail back to the server host!
179
180 This software is known to work with the qpop/popper series of freeware
181 POP3 servers; also with the IMAP2bis and IMAP4 servers that are
182 distributed with Pine from the University of Washington; also with the
183 Cyrus IMAP server from CMU.  This covers all the servers commonly
184 hosted on Linux and *BSD systems.  It also works with the IMAP service
185 of Microsoft Exchange, despite the fact that Microsoft Exchange is
186 extremely broken (returns incorrect message lengths in LIST
187 responses).
188
189 See the FAQ, section S, for detailed advice on running with various
190 servers.
191
192
193 7. REPORTING BUGS
194
195 You should read the FAQ file question G3 before reporting a bug.
196
197
198 8. USE IT
199
200 Once you've verified your configuration, you can start fetchmail to
201 run in background and forget about it.  Enjoy!
202
203
204 END of text file INSTALL