]> Pileus Git - ~andy/fetchmail/blob - INSTALL
Recommend new gettext.
[~andy/fetchmail] / INSTALL
1                 INSTALL Instructions for fetchmail
2
3 If you have installed binaries (e.g. from an RPM) you can skip to step 5.
4
5 If you are a Linux system packager, be aware that the build process generates
6 an RPM spec file at fetchmail.spec, and you can "make rpm" to generate an
7 RPM and SRPM.
8
9 The Frequently Asked Questions list, included as the file FAQ in this
10 distributions, answers the most common questions about configuring and 
11 running fetchmail.
12
13 1. USEFUL THINGS TO INSTALL FIRST
14
15 If you want support for RFC1938-compliant one-time passwords, you'll
16 need to install Craig Metz's OPIE libraries first and *make sure
17 they're on the normal library path* where configure will find them.  Then
18 configure with --enable-OPIE, and fetchmail build process will detect
19 them and compile appropriately.
20
21 Note: there is no point in doing this unless your server is
22 OTP-enabled.  To test this, telnet to the server port and give it
23 a valid USER id.  If the OK response includes the string "otp-",
24 you should install OPIE.  You need version 2.32 or better.
25
26 The OPIE library sources are available at http://www.inner.net/pub/opie/
27 You can also find OPIE and IPV6-capable servers there.
28
29 Building in IPv6 support *requires* glibc 2.1.1 (or newer) or 
30 that Craig Metz's inet6-apps kit be installed.
31 The IPsec patches *requires* inet6-apps kit.;
32 the IPsec patches require that the kit be built with network
33 security API support enabled. The kit can be gotten from
34 ftp.ipv6.inner.net:/pub/ipv6 (via IPv6) or ftp.inner.net
35 /pub/ipv6 (via IPv4).
36
37 Fetchmail has had serious grief from buggy versions of the gettext suite.
38 If your version is older than 1.10.40, you should use the configure
39 option `--with-included-gettext'.
40
41 2. CONFIGURE
42
43 Installing fetchmail is easy.  From within this directory, type:
44
45         ./configure
46
47 (If your getext is old, you need to include the --with-included-gettext
48 option, which I recommend anyway). 
49
50 The autoconfiguration script will spend a bit of time figuring out the
51 specifics of your system.  If you want to specify a particular compiler
52 (e.g. you have gcc but want to compile with cc), set the environment 
53 variable CC before you run configure.  
54
55 The configure script accepts certain standard configuration options.
56 These include --prefix, --exec-prefix, --bindir, --infodir, --mandir,
57 and --srcdir.  Do `configure --help' for more.
58
59 POP2 support is no longer compiled in by default, as POP2 is way obsolete
60 and there don't seem to be any live servers for it anymore.  You can
61 configure it back in if you want with `configure --enable-POP2', but
62 leaving it out cuts the executable's size slightly.
63
64 Support for CompuServe's RPA authentication method (rather similar to
65 APOP) is available but also not included in the standard build.  You
66 can compile it in with `configure --enable-RPA'.
67
68 Support for Microsoft's NTLM authentication method is also available
69 but also not included in the standard build.  You can compile it in
70 with `configure --enable-NTLM'.
71
72 Support for authentication using RFC1731 GSSAPI is available
73 but also not included by default.  You can compile it in with
74 `configure --with-gssapi', which looks for GSSAPI support in standard
75 locations (/usr, /usr/local).  If you set --with-GSSAPI=DIR
76 you can direct the build to look for GSSAPI support under DIR.
77
78 Hooks for the OpenSSL library (see http://www.openssl.org/) are
79 included in the distribution.  To enable these, configure with
80 --with-ssl; they are not included in the standard build.
81
82 If you want to build for debugging, 
83
84         CFLAGS=-g LDFLAGS=" " ./configure
85
86 will do that.
87
88 To specify a fallback MUA in case local port 25 doesn't respond, do one of:
89
90         configure --enable-fallback=procmail
91         configure --enable-fallback=sendmail
92
93 A disadvantage of using procmail is that local alias expansion
94 according to /etc/aliases won't get done if we fall back to it.
95
96 Advanced configuration:
97
98 Specifying --with-kerberos=DIR or --with-kerberos5=DIR will tell the
99 fetchmail build process to look in DIR for Kerberos support.
100 Configure normally looks in /usr/kerberos and /usr/athena; if you
101 specify this option with an argument it will look in DIR first.
102
103 Unfortunately, there doesn't seem to be good standardization of where
104 Kerberos lives.  If your configuration doesn't match one of the four
105 that fetchmail's configure.in knows about, you may find you have to
106 hand-hack the Makefile a bit.
107
108 You may also want to hand-hack the Makefile if you're writing a custom
109 or bleeding-edge resolver library.  In that case you will probably
110 want to add -lresolv or whatever to the definition of LOADLIBS.
111
112 It is also possible to explicitly condition out the support for
113 POP3, IMAP, and ETRN (with configure arguments of --disable-POP3,
114 --disable-IMAP, and --disable-ETRN respectively).  However, none
115 of these wins back more that 3 to 4K on an Intel box.
116
117 If you're running QNX, edit the distributed Makefile directly.  The
118 QNX values for various macros are there but commented out; all you
119 have to do is uncomment them.
120
121 3. MAKE 
122
123 You may find you need flex at version 2.5.3 or greater to build
124 fetchmail.  The stock lex distributed with some versions of Linux does
125 not work -- it yields a parser which core-dumps on syntax errors.  You
126 can get flex at the GNU ftp site, ftp://prep.ai.mit.edu/pub/gnu.
127
128 Run
129
130         make
131
132 This should compile fetchmail for your system.  If fetchmail fails to build
133 properly, see the FAQ section B on build-time problems.  Note: parallelized
134 make (e.g. make -j 4) fails due to some weirdness in the yacc productions.
135
136 4. INSTALL
137
138 Lastly, become root and run
139
140         make install
141
142 This will install fetchmail.  By default, fetchmail will be installed
143 in /usr/local/bin, with the man page in /usr/local/man/man1.  You can
144 use the configure options --bindir and --mandir to change these.
145
146 NOTE: If you are using an MTA other than sendmail (such as qmail,
147 exim, or smail), see the FAQ (section T) for discussion of any special
148 configuration steps that may be necessary.
149
150 5. SET UP A RUN CONTROL FILE
151
152 See the man page for a description of how to configure your individual
153 preferences.
154
155 If you're upgrading from popclient, see question F4 in the FAQ file.
156
157 6. TEST
158
159 I strongly recommend that your first fetchmail run use the -v, -a and -k
160 options, in case there is something not quite right with your server,
161 your local delivery configuration or your port 25 listener.  Also,
162 beware of aliases that direct your local mail back to the server host!
163
164 This software is known to work with the qpop/popper series of freeware
165 POP3 servers; also with the IMAP2bis and IMAP4 servers that are
166 distributed with Pine from the University of Washington; also with the
167 Cyrus IMAP server from CMU.  This covers all the servers commonly
168 hosted on Linux and *BSD systems.  It also works with the IMAP service
169 of Microsoft Exchange, despite the fact that Microsoft Exchange is
170 extremely broken (returns incorrect message lengths in LIST
171 responses).  
172
173 See the FAQ, section S, for detailed advice on running with various
174 servers.
175
176 7. REPORTING BUGS
177
178 You should read the FAQ file question G3 before reporting a bug.
179
180 8. USE IT
181
182 Once you've verified your configuration, you can start fetchmail to
183 run in background and forget about it.  Enjoy!