This document describes the steps which are necessary to install and use Mutt-ng Supported platforms: ==================== Mutt-ng should run under the following platforms: AIX, BSDI, Convex, Data General Unix (DG/UX), Digital Unix (OSF/1), DYNIX/ptx, FreeBSD, HP-UX, IRIX, Linux, Atari MiNT, MkLinux, NetBSD, OpenBSD, QNX, SCO Unix 3.2v4/5, Solaris, SunOS, Ultrix, UnixWare, MacOSX Requirements: ============= 1. ANSI C compilter. The GNU c compiler would be a good choice 2. A SysV compatible semigraphic library. Mutt-ng supports: - GNU ncurses , ftp://ftp.gnu.org/gnu/ncurses/ - S-Lang, ftp://space.mit.edu/pub/davis/slang/ 3. An implementation of the iconv API for character set conversions. This one is recommend: http://www.gnu.org/software/libiconv/ Installation: ============= 1. Installing Mutt-ng is very easy. Just use tar and gzip/bzip2. For example type: `tar xvfz mutt-ng-20050515.tar.gz'. If you have obtained the distribution from the SVN (subversion) repository, run the `autogen.sh' script with the same command line parameters like it is described in doc/devel-notes.txt 2. The next step is to call `configure' to configure your installation depending on your system. 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: Configure options: ================== --prefix=DIR install Mutt-ng in DIR instead of /usr/local --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. This are just a few configure options to get a complete list type: `configure --help' 3. Once `configure' has completed, simply type `make install.' Mutt-ng should compile cleanly (without errors) and you should end up with a binary called `muttng.' 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. Depending on the features you included via configure you can get similliar errors from other libraries that are missing. Iconv character set support ===================== If you decide to use your system's iconv implementation, you may need to tell Mutt-ng 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-ng's documentation. In order to use these sample configuration files, just put a line like source /usr/local/doc/muttng/samples/iconv/iconv.osf1-4.0d.rc into your system's global Muttngrc, which normally resides in /etc or /usr/local/etc. If you really want to, you can configure Mutt-ng --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-ng. A patch can be found in the file contrib/patch.slang-1.2.2.keypad.1 in this Mutt-ng 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-ng. We are also hearing reports that Solaris 2.4's NLS libraries dump core with Mutt-ng 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-ng 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 occuring. - 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. Mo Mai 23 19:52:22 CEST 2005 Nico 'nion' Golde * updated/rewrote document