X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/4f641fbfdffbf55b1ad67b2abd67c80bc3339959..f345b9b480296b4b6a8469d6221752893c5d1420:/MACHINES diff --git a/MACHINES b/MACHINES index 509fa7d2..d930dc23 100644 --- a/MACHINES +++ b/MACHINES @@ -1,91 +1,140 @@ # -# MACHINE -- operating system specific information +# MACHINES -- operating system specific information # -# $Id$ -# - --------------------------------------- - -FreeBSD: -OpenBSD: -NetBSD: - -Some BSD4.4 machines have problems when running nmh's configure script. -They will be unable to find the location of vi and sendmail. This is -due to POSIX features (breakage?) in the shell sh. The solution is to -run the configure script under the shell `bash': - - % bash configure --------------------------------------- -Mac OS X/Rhapsody 5: - -Version 5.3 at least has the same sh/bash bug as the *BSD systems -above. This appears to be fixed in 5.5. - -Will not compile correctly unless you configure with the --enable-debug -option. It appears to find conflicts in the headers only when debugging -is disabled. With debugging enabled, it compiles and runs happily. - --------------------------------------- - -HPUX: +nmh is routinely built and tested on recent versions of the following +platforms: + Cygwin (32- and 64-bit) + FreeBSD 9 + FreeBSD 10 + Linux (Fedora, Ubuntu, and CentOS distributions) + Mac OS X 10.9 + OpenBSD 5.4 + Solaris 11 + +nmh was known in the distant past to compile on the following platforms (save +the exceptions noted below), using an ANSI C compiler, such as gcc: + AIX 4.1.5.0.01 + IRIX 6.5 + NetBSD 1.4.2 + Solaris 7 and 8 (sparc,x86) + SunOS 4.1 + +On all platforms, the following programs are required to build nmh from a +snapshot of the source code repository: + autoconf 2.68 or later + automake 1.12 or later + flex 2.5.4 or later + bison 2.3 or later, Berkeley yacc 1.9 or later, or Solaris yacc 4.0 +They are not required if building from an nmh distribution (.tar.gz) file. + +Platform-specific notes follow. + +------------------------------------------------------------------------------ + Linux +------------------------------------------------------------------------------ + +Run-time package requirements: + ncurses-libs + gdbm, db4, or libdb (only needed for slocal(1)) + readline (if you want readline support) + cyrus-sasl-lib / libsasl2 (if configured with --with-cyrus-sasl) + openssl-libs / libssl (if configured with --with-tls) + +Additional build-time package requirements: + ncurses-devel / libncurses5-devel + gdbm-devel, db4-devel or libdb-devel/libdb-dev (only needed for slocal(1)) + readline-devel (if you want readline support) + cyrus-sasl-devel / libsasl2-dev (if configuring with --with-cyrus-sasl) + openssl-devel / libssl-dev (if configuring with --with-tls) + +Test suite package requirements: + ncurses (tput is needed to run test/format/test-curses) + +------------------------------------------------------------------------------ + Mac OS X +------------------------------------------------------------------------------ + +If configured with --with-tls on Mac OS 10.7 or later, there will be +compile warnings from mts/smtp/smtp.c about the deprecated OpenSSL +that is supplied with that system. nmh will build and run with that +OpenSSL, though it may be an old version. Alternatively, the OpenSSL +source code is available from http://www.openssl.org/source/. To +build 64-bit libraries, the OpenSSL configure command should start +with, e.g., + ./Configure darwin64-x86_64-cc + +To build nmh with those OpenSSL libraries, the CPPFLAGS and LDFLAGS +can be set by adding the following to the nmh configure command line, +or in the shell environment before calling configure or build_nmh: + CPPFLAGS='-D__arch64__ -IOpenSSL-include-path' LDFLAGS=-LOpenSSL-lib-path + +------------------------------------------------------------------------------ + FreeBSD +------------------------------------------------------------------------------ + +Additional build-time package requirements: + devel/autotools + +------------------------------------------------------------------------------ + Cygwin +------------------------------------------------------------------------------ + +Run-time package requirements: + file + libncurses10 or libncursesw10 + libgdbm4 (only needed for slocal(1)) + libiconv or libiconv2 (if you want iconv support) + libreadline7 (if you want readline support) + libsasl2_3 (if configured with --with-cyrus-sasl) + openssl (if configured with --with-tls) + +Additional build-time package requirements: + libncurses-devel or libncursesw-devel + libgdbm4-devel (only needed for slocal(1)) + libiconv-devel (if you want iconv support) + libreadline-devel (if you want readline support) + libsasl2-devel (if configuring with --with-cyrus-sasl) + openssl-devel (if configuring with --with-tls) + + Older versions of libncurses-devel do not install /usr/include/curses.h, + /usr/include/term.h, and /usr/include/termcap.h. If yours does not, + either add symlinks in /usr/include/ to those files in its ncurses/ + subdirectory, or build with: + make DEFAULT_INCLUDES='-I. -I/usr/include/ncurses' + +Test suite package requirements: + ncurses (tput is needed to run test/format/test-curses) + +Note that the -link switch to refile cannot be used on FAT32 and other +filesystems that do not support hard links. + +------------------------------------------------------------------------------ + HPUX +------------------------------------------------------------------------------ Lots of problems have been reported with using HPUX `cc'. In particular, -problems with `scan' giving incorrect dates (everything is 01/00). -It is highly recommended that you use `gcc' instead. - -Also, new versions of HPUX (10.20?) will core dump in `scan' because -of some workaround code in zotnet/tws/lexstring.c. This workaround is -needed for older versions of HPUX, but causes problems on newer versions. -The solution is the added line (minus our indentation): +problems with `scan' giving incorrect dates (everything is 01/00). It is +highly recommended that you use `gcc' instead. - #undef hpux - -after line 15 of the file zotnet/tws/lexstring.c. - --------------------------------------- - -Irix (SGI): +------------------------------------------------------------------------------ + Irix (SGI) +------------------------------------------------------------------------------ Irix make is notoriously buggy. If you're using it, you should "touch -config.h.in" before configuring to prevent a problem where it tries to -rebuild targets that shouldn't be rebuilt. (Alternately, you can just -use GNU make instead of Irix make.) - --------------------------------------- - -Linux: - -The configuration script does a test to discover if your vi is broken -(if it reports non-zero exit codes on certain pseudo-errors). This test -will hang if the program `ex' on your system is a link to the vi clone -`vile'. The workaround is to replace the command ex as a link to another -vi clone such as nvi or elvis. - --------------------------------------- - -Solaris: - -With --enable-debug you'll see a lot of warnings. This is even worse -when compiling using the Sun Workshop compiler since it issues a -warning for every instance of a problem instead of summarizing them. -The main one concerns arrays with an index of type char. This is ok. -The array itself is a hash of chars, so the array size and the type -match. There isn't another safe and portable way to do this at the -moment. An explicit cast would get rid of the warnings, but I think -it's better to leave it complaining for now until we come up with -a better solution. The whole thing is probablly going to be chucked -with UTC-8 support anyway. - -Other than the warnings, it builds ok. +config.h.in" before configuring to prevent a problem where it tries to rebuild +targets that shouldn't be rebuilt. (Alternately, you can just use GNU make +instead of Irix make.) --------------------------------------- +------------------------------------------------------------------------------ + SunOS 4.1.1/4.1.3/4.1.4 +------------------------------------------------------------------------------ -SunOS 4.1.1/4.1.3/4.1.4: +You can't use the C compiler that comes with SunOS 4 since it isn't ANSI C. +But nmh builds just fine with gcc. -You can't use the C compiler that comes with SunOS 4 since -it isn't ANSI C. But nmh builds just fine with gcc. With ---enable-debug you will see a lot of warnings. +------------------------------------------------------------------------------ --------------------------------------- +---------- +The nmh team +nmh-workers@nongnu.org