339 lines
12 KiB
Text
339 lines
12 KiB
Text
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
|
|
Mac OS X
|
|
Atari MiNT
|
|
MkLinux
|
|
NetBSD
|
|
OpenBSD
|
|
QNX
|
|
SCO Unix 3.2v4/5
|
|
Solaris
|
|
SunOS
|
|
Ultrix
|
|
UnixWare
|
|
|
|
- If you are building from Git, or if you are changing parts of mutt,
|
|
particularly the build system, do read doc/devel-notes.txt.
|
|
|
|
- A C99 compiler (such as GCC) is required.
|
|
|
|
- A C99 compliant libc is also required, starting with Mutt 2.1.0.
|
|
This means very old systems will likely not compile or work correctly.
|
|
|
|
- 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/
|
|
|
|
- Mutt needs an implementation of the iconv API for character set
|
|
conversions. A free one can be found under the following URL:
|
|
|
|
http://www.gnu.org/software/libiconv/
|
|
|
|
- For building the manual, mutt needs the DocBook XSL stylesheets
|
|
as well as the DocBook DTD as of version 4.2 installed locally.
|
|
For details, please see the section "Generating Mutt Documentation
|
|
From Source" in doc/devel-notes.txt.
|
|
|
|
|
|
Installation
|
|
============
|
|
|
|
Installing Mutt is rather painless through the use of the GNU
|
|
autoconf package. Simply untar the Mutt distribution, and run the
|
|
``configure'' script. If you have obtained the distribution from
|
|
the Git 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 Git 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.
|
|
To view them all, type ``configure --help''. Some of the important
|
|
options are:
|
|
|
|
--prefix=DIR
|
|
install Mutt in DIR instead of /usr/local
|
|
|
|
--enable-autocrypt
|
|
enable autocrypt 1.1 <https://autocrypt.org/> support.
|
|
Requires sqlite3 (via the --with-sqlite3 option).
|
|
|
|
--enable-gpgme
|
|
enable GPGME crypt backend support.
|
|
|
|
--enable-sidebar
|
|
Build with sidebar functionality. The sidebar can show a list of all
|
|
your mailboxes at... *drums roll* ...the side. Visibility of the
|
|
sidebar can be turned on and off as desired.
|
|
|
|
--enable-compressed
|
|
enable compressed folders support.
|
|
|
|
--enable-pop
|
|
enable POP3 support
|
|
|
|
--enable-imap
|
|
enable IMAP support
|
|
|
|
--enable-smtp
|
|
enable built in SMTP client support
|
|
|
|
--enable-debug
|
|
enable debug flag '-d' support.
|
|
|
|
--enable-flock
|
|
use flock() to lock files.
|
|
|
|
--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
|
|
option could be dangerous if dotlocking is also disabled.
|
|
|
|
--disable-filemonitor
|
|
disables inotify support for faster local mailbox monitoring.
|
|
The filemonitor option is only available on Linux.
|
|
|
|
--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.
|
|
If you need --enable-locales-fix then you will probably need
|
|
--without-wc-funcs too. However, on a correctly configured
|
|
modern system you shouldn't need either (try setting LANG,
|
|
LC_ALL or LC_CTYPE instead).
|
|
|
|
--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
|
|
significantly more memory.
|
|
|
|
--enable-hcache
|
|
Enable header caching support. If no backend library is
|
|
specified via a --with option (e.g. --with-kyotocabinet), Mutt
|
|
will scan in the order: kyotocabinet, tokyocabinet, lmdb,
|
|
qdbm, gdbm, bdb. To skip scanning one or more of these
|
|
libraries, use the corresponding --without option.
|
|
|
|
--disable-nls
|
|
This switch disables mutt's native language support.
|
|
|
|
--disable-doc
|
|
Turns off building the Mutt manual. This can be helpful if you
|
|
don't have all the DocBook dependencies installed.
|
|
|
|
--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-sqlite3[=DIR]
|
|
use the sqlite3 lib in DIR/lib. This is currently only needed
|
|
by the --enable-autocrypt option.
|
|
|
|
--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.
|
|
|
|
--with-gss[=PFX]
|
|
Enable GSSAPI authentication to IMAP servers. This should work with
|
|
both MIT and Heimdal GSSAPI implementations - others haven't been
|
|
tested. Note that the Cyrus SASL library also supports GSSAPI,
|
|
and may be able to encrypt your session with it - you should use
|
|
SASL instead if you can.
|
|
|
|
--with-ssl[=PFX]
|
|
enable SSL support with IMAP and POP. 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.
|
|
|
|
--with-sasl[=PFX]
|
|
Use the Cyrus SASL library for IMAP or POP authentication. This
|
|
library provides generic support for several authentication methods,
|
|
and more may be added by the system administrator without recompiling
|
|
mutt. SASL may also be able to encrypt your mail session even if
|
|
SSL is not available.
|
|
|
|
--with-bundled-regex
|
|
use bundled 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.
|
|
|
|
--without-wc-funcs
|
|
by default Mutt uses the functions mbrtowc(), wctomb() and
|
|
wcwidth() provided by the system, when they are available.
|
|
With this option Mutt will use its own version of those
|
|
functions, which should work with 8-bit display charsets, UTF-8,
|
|
euc-jp or shift_jis, even if the system doesn't normally support
|
|
those multibyte charsets.
|
|
|
|
If you find Mutt is displaying non-ascii characters as octal
|
|
escape sequences (e.g. \243), even though you have set LANG and
|
|
LC_CTYPE correctly, then you might find you can solve the problem
|
|
with either or both of --enable-locales-fix and --without-wc-funcs.
|
|
|
|
--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 almost 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.
|
|
|
|
(If you encounter this problem with your platform's native
|
|
Bourne shell, please send a short report to mutt-dev@mutt.org,
|
|
so a short note on this topic can be added to the Platform notes
|
|
section below.)
|
|
|
|
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.
|
|
|
|
Please note that "VPATH" builds currently only work with GNU make (gmake).
|
|
|
|
|
|
|
|
Character set support
|
|
=====================
|
|
|
|
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 decide to use your system's iconv implementation, you may
|
|
need to tell mutt about implementation-defined names for some
|
|
character sets. Sample configuration files for various systems can
|
|
be found in the directory contrib/iconv/ in this source
|
|
distribution, and will be installed in the samples/iconv directory
|
|
as part of mutt's documentation.
|
|
|
|
In order to use these sample configuration files, just put a line
|
|
like
|
|
|
|
source /usr/local/doc/mutt/samples/iconv/iconv.osf1-4.0d.rc
|
|
|
|
into your system's global Muttrc, which normally resides in /etc or
|
|
/usr/local/etc.
|
|
|
|
|
|
If you really want to, you can configure Mutt --disable-iconv, but
|
|
there will then be no character set conversion.
|
|
|
|
|
|
Platform Notes
|
|
==============
|
|
|
|
All platforms
|
|
|
|
There is a bug in most (if not all) S-Lang versions which
|
|
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.
|
|
|
|
|
|
Solaris 2.4
|
|
|
|
The system regcomp() and regexec() routines are very badly
|
|
broken. This should be automatically detected by the
|
|
configure script. If not, use the --with-regex switch when
|
|
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.
|
|
|
|
Color does not work right with Solaris curses. You will
|
|
have to compile with either ncurses or slang to get working
|
|
color support.
|
|
|
|
Solaris 2.6
|
|
|
|
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.
|
|
|
|
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 occurring.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
Digital Unix (OSF/1)
|
|
|
|
The system curses library is said to be badly broken. Use GNU
|
|
ncurses or SLang instead.
|