1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
# MACHINES -- operating system specific information
#
nmh is routinely built and tested on recent versions of the following
platforms:
Cygwin (32- and 64-bit)
FreeBSD 10
Linux (Arch, CentOS, Fedora, and Ubuntu distributions)
macOS
OpenBSD
Solaris 11 (x86_64)
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
FreeBSD 9
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 or Berkeley yacc 1.9 or later
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)
libcurl (if configured with --with-oauth)
Additional build-time package requirements:
ncurses-devel / libncurses5-devel
gdbm-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)
libcurl-devel / libcurl-dev (if configured with --with-oauth)
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 X 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
ftp/curl (if configured with --with-oauth)
------------------------------------------------------------------------------
Solaris 11.4
------------------------------------------------------------------------------
On Solaris 11.4, nmh builds cleanly with gcc under these conditions:
1. Add the following packages
a. if building from nmh tar distribution:
gcc, lynx
lynx is optional but allows showing and converting of messages containing
html content.
b. in addition, if building from git sources:
autoconf, automake, bison, flex, git
2. prepend /usr/xpg4/bin to PATH
3. include the following in CFLAGS:
-D_POSIX_C_SOURCE=200809L -D__EXTENSIONS__ -I/usr/xpg4/include -I.
That works around around the multiple bool definitions, including both a
#define and a typedef.
------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------
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)
libcurl (if configured with --with-oauth)
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)
libcurl-devel (if configured with --with-oauth)
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.
------------------------------------------------------------------------------
HP-UX
------------------------------------------------------------------------------
Lots of problems have been reported with using HP-UX `cc'. In particular,
problems with `scan' giving incorrect dates (everything is 01/00). It is
highly recommended that you use `gcc' instead.
------------------------------------------------------------------------------
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.)
------------------------------------------------------------------------------
----------
The nmh team
nmh-workers@nongnu.org
|