INSTALL 8.17 KB
Newer Older
Thomas Roessler's avatar
Thomas Roessler committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Supported platforms
===================

Mutt has been reported to compile and run under the following Unix operating
systems:

	AIX
	BSDI
	Convex
	Data General Unix (DG/UX)
	Digital Unix (OSF/1)
	DYNIX/ptx
	FreeBSD
	HP-UX
	IRIX
	Linux
	Atari MiNT
	MkLinux
	NetBSD
Thomas Roessler's avatar
Thomas Roessler committed
20
	OpenBSD
Thomas Roessler's avatar
Thomas Roessler committed
21
	QNX
Thomas Roessler's avatar
Thomas Roessler committed
22
	SCO Unix 3.2v4/5
Thomas Roessler's avatar
Thomas Roessler committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
	Solaris
	SunOS
	Ultrix
	UnixWare

- An ANSI C compiler (such as gcc) is required.

- You must also have a SysV compatible curses library, or you must
  install either

	GNU ncurses, ftp://prep.ai.mit.edu/pub/gnu/

  or

	S-Lang, ftp://space.mit.edu/pub/davis/slang/

39 40 41 42 43 44 45
- Mutt needs an implementation of the iconv API for character set
  conversions.  A free one can be found under the following URL:

  	http://clisp.cons.org/~haible/packages-libiconv.html



Thomas Roessler's avatar
Thomas Roessler committed
46 47 48
Installation
============

Thomas Roessler's avatar
Thomas Roessler committed
49 50
Installing Mutt is rather painless through the use of the GNU
autoconf package.  Simply untar the Mutt distribution, and run the
51 52 53 54 55 56 57 58 59
``configure'' script.  If you have obtained the distribution from
the CVS repository, run the ``prepare'' script with the same command
line parameters you would pass to configure.  It will set up mutt's
build environment and add the files which are present in the tar
balls, but not in the CVS repository.

In most cases, configure will automatically determine everything it
needs to know in order to compile.  However, there are a few options
to ``configure'' to help it out, or change the default behavior:
Thomas Roessler's avatar
Thomas Roessler committed
60 61 62 63 64 65 66

--prefix=DIR
	install Mutt in DIR instead of /usr/local

--with-sharedir=DIR
	specify where to put architecture independent data files

67

Thomas Roessler's avatar
Thomas Roessler committed
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
--with-curses=DIR
	use the curses lib in DIR/lib.  If you have ncurses, ``configure''
	will automatically look in /usr/include/ncurses for the include
	files.

--with-slang[=DIR]
	use the S-Lang library instead of ncurses.  This library seems to
	work better for some people because it is less picky about proper
	termcap entries than ncurses.  It is recommended that you use at
	*least* version 0.99-38 with Mutt.

--with-mailpath=DIR
	specify where the spool mailboxes are located on your system

--with-homespool[=FILE]
	treat file in the user's home directory as the spool mailbox.  Note
	that this is *not* the full pathname, but relative to the user's
	home directory.  Defaults to "mailbox" if FILE is not specified.

--enable-pop
	enable POP3 support

90 91 92
--enable-imap
	enable IMAP support

93 94 95 96 97 98 99 100 101
--with-ssl[=PFX]
	enable SSL support with IMAP. SSL support requires you to have
	OpenSSL headers and libraries properly installed before
	compiling.  If the OpenSSL headers and libraries are not in the
	default system pats you can use the optional PFX argument to
	define the root directory of your installation.  The libraries
	are then expected to be found in PFX/lib and headers in
	PFX/include/openssl.

102 103 104
--disable-nls
	This switch disables mutt's native language support.

105 106 107 108 109 110
--with-included-gettext 
	Mutt will be built using the GNU gettext library included in
	the intl/ sub-directory.  You may need to use this switch if
	your machine has something which looks like gettext to the
	configure script, but isn't able to cope with mutt's catalog
	files.
111

112 113 114 115
--with-regex
	use GNU regex instead of local regexp routines.  Many systems
	don't have the POSIX compliant regcomp/regexec/regfree
	routines, so this provides a way to support them.
Thomas Roessler's avatar
Thomas Roessler committed
116 117

--enable-flock
Thomas Roessler's avatar
Thomas Roessler committed
118
	use flock() to lock files.  
Thomas Roessler's avatar
Thomas Roessler committed
119 120 121 122

--disable-fcntl
	by default, Mutt uses fcntl() to lock files.  Over NFS this can
	result in poor performance on read/write.  Note that using this
Thomas Roessler's avatar
Thomas Roessler committed
123 124
	option could be dangerous if dotlocking is also disabled.
	
Thomas Roessler's avatar
Thomas Roessler committed
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
--enable-nfs-fix
	some implementations of NFS do not always write the
	atime/mtime of small files.  This means that Mutt's ``mailboxes''
	feature does not always work properly, as it uses these
	attributes to work out whether the file has new mail.  This
	option enables a workaround to this bug.

--enable-locales-fix
	on some systems, the result of isprint() can't be used reliably
	to decide which characters are printable, even if you set the
	LANG environment variable.  If you set this option, Mutt will
	assume all characters in the ISO-8859-* range are printable.  If
	you leave it unset, Mutt will attempt to use isprint() if either
	of the environment variables LANG, LC_ALL or LC_CTYPE is set,
	and will revert to the ISO-8859-* range if they aren't.

--with-exec-shell=SHELL
	on some versions of unix, /bin/sh has a bug that makes using emacs
	with mutt very difficult.  If you have the problem that whenever
	you press control-G in emacs, mutt and emacs become very confused,
	you may want to try using a Bourne-derived shell other than
	/bin/sh here.  Some shells that may work are bash, zsh, and ksh.
	C shells such as csh and tcsh will amost certainly not work right.
	Note that this option is unrelated to what shell mutt gives you
	when you press '!'.  Only use this option to solve the above problem,
	and only specify one of the above shells as its argument.

Thomas Roessler's avatar
Thomas Roessler committed
152 153 154 155 156
	(If you encounter this problem with your platform's native
	Bourne shell, please send a short report to mutt-dev@cs.hmc.edu,
	so a short note on this topic can be added to the Platform notes
	section below.)

Thomas Roessler's avatar
Thomas Roessler committed
157 158 159 160 161
--enable-exact-address
	By default, Mutt will rewrite all addresses in the form
		Personal Name <user@host.domain>
	regardless of the input.  By enabling this option, Mutt will write
	addresses in the same form they are parsed.  NOTE: this requires
Thomas Roessler's avatar
Thomas Roessler committed
162
	significantly more memory.
Thomas Roessler's avatar
Thomas Roessler committed
163

164 165 166
	WARNING: DO NOT USE THIS OPTION, IT IS BROKEN.


Thomas Roessler's avatar
Thomas Roessler committed
167 168 169 170 171 172 173 174
Once ``configure'' has completed, simply type ``make install.''

Mutt should compile cleanly (without errors) and you should end up with a
binary called ``mutt.''  If you get errors about undefined symbols like
A_NORMAL or KEY_MIN, then you probably don't have a SysV compliant curses
library.  You should install either ncurses or S-Lang (see above), and then
run the ``configure'' script again.

175
Please note that "VPATH" builds currently do _not_ work.
Thomas Roessler's avatar
Thomas Roessler committed
176

177 178 179
Character set support
=====================

Thomas Roessler's avatar
Thomas Roessler committed
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
Mutt no longer contains functions for doing character set conversion.
Instead, it expects the iconv functions (iconv_open, iconv,
iconv_close) to be provided. Most up-to-date systems provide these
functions, often as part of the C library. If you are installing Mutt
on a system which does not have them, it is recommended that you
install Bruno Haible's portable libiconv library, which you can obtain
from:

ftp://ftp.ilog.fr/pub/Users/haible/gnu/

Even if your system does provide the iconv functions, you might want
to install libiconv, as some systems provide only a very limited
version of iconv.

If you really want to, you can configure Mutt --without-iconv, but
there will then be no character set conversion.
196 197


Thomas Roessler's avatar
Thomas Roessler committed
198 199 200
Platform Notes
==============

Thomas Roessler's avatar
Thomas Roessler committed
201 202 203
All platforms

	There is a bug in most (if not all) S-Lang versions which
204 205 206
	prevents the Meta key from working with mutt.  A patch can
	be found in the file contrib/patch.slang-1.2.2.keypad.1 in
	this mutt distribution.
Thomas Roessler's avatar
Thomas Roessler committed
207 208


Thomas Roessler's avatar
Thomas Roessler committed
209 210
Solaris 2.4

211 212
	The system regcomp() and regexec() routines are very badly
	broken.  This should be automatically detected by the
213
	configure script.  If not, use the --with-regex switch when
214 215 216 217 218 219
	configuring mutt.

	We are also hearing reports that Solaris 2.4's NLS libraries
	dump core with mutt when using a locale different from "C".
	Use the --with-included-gettext configuration switch if you
	experience this problem.
Thomas Roessler's avatar
Thomas Roessler committed
220

221 222 223
	Color does not work right with Solaris curses.  You will
	have to compile with either ncurses or slang to get working
	color support.
Thomas Roessler's avatar
Thomas Roessler committed
224

225 226
Solaris 2.6

227 228 229
	There are reports that mutt behaves strangely when linked with
	the system regexp library.  Please use the --with-regex switch
	when configuring on this platform.
Thomas Roessler's avatar
Thomas Roessler committed
230

231 232 233 234 235
 	For the real fix, applying Sun patches # 105490-05 (linker
	patch) and # 105210-17 (libc and malloc patch) from
	sunsolve.sun.com has been reported to stop these problems
	from occuring.

Thomas Roessler's avatar
Thomas Roessler committed
236 237 238 239 240 241
Linux

	On recent Linux systems, flock() and fcntl() locks don't mix.  If
	you use the --enable-flock switch on such systems, be sure to
	give the --disable-fcntl argument as well.

242 243 244 245 246 247
Sparc Linux

	Redhat 4.2 Sparc users reported problems with some system
	include files when building mutt.  Configuring mutt with the
	--disable-warnings switch is said to help against this problem.

Thomas Roessler's avatar
Thomas Roessler committed
248 249 250

Digital Unix (OSF/1)

251 252
	The system curses library is said to be badly broken.  Use GNU
	ncurses or SLang instead.
Thomas Roessler's avatar
Thomas Roessler committed
253

254
$Id$