2 # MACHINES -- operating system specific information
5 nmh is routinely built and tested on recent versions of the following
7 Cygwin (32- and 64-bit)
10 Linux (Fedora, Ubuntu, and CentOS distributions)
15 nmh was known in the distant past to compile on the following platforms (save
16 the exceptions noted below), using an ANSI C compiler, such as gcc:
20 Solaris 7 and 8 (sparc,x86)
23 On all platforms, the following programs are required to build nmh from a
24 snapshot of the source code repository:
28 They are not required if building from an nmh distribution (.tar.gz) file.
30 Platform-specific notes follow.
32 ------------------------------------------------------------------------------
34 ------------------------------------------------------------------------------
36 Run-time package requirements:
38 gdbm, db4, or libdb (only needed for slocal(1))
39 readline (if you want readline support)
40 cyrus-sasl-lib / libsasl2 (if configured with --with-cyrus-sasl)
41 openssl-libs / libssl (if configured with --with-tls)
43 Additional build-time package requirements:
44 ncurses-devel / libncurses5-devel
45 gdbm-devel, db4-devel or libdb-devel/libdb-dev (only needed for slocal(1))
46 readline-devel (if you want readline support)
47 cyrus-sasl-devel / libsasl2-dev (if configuring with --with-cyrus-sasl)
48 openssl-devel / libssl-dev (if configuring with --with-tls)
50 ------------------------------------------------------------------------------
52 ------------------------------------------------------------------------------
54 If configured with --with-tls on Mac OS 10.7 or later, there will be
55 compile warnings from mts/smtp/smtp.c about the deprecated OpenSSL
56 that is supplied with that system. nmh will build and run with that
57 OpenSSL, though it may be an old version. Alternatively, the OpenSSL
58 source code is available from http://www.openssl.org/source/. To
59 build 64-bit libraries, the OpenSSL configure command should start
61 ./Configure darwin64-x86_64-cc
63 To build nmh with those OpenSSL libraries, the CPPFLAGS and LDFLAGS
64 can be set by adding the following to the nmh configure command line,
65 or in the shell environment before calling configure or build_nmh:
66 CPPFLAGS='-D__arch64__ -IOpenSSL-include-path' LDFLAGS=-LOpenSSL-lib-path
68 ------------------------------------------------------------------------------
70 ------------------------------------------------------------------------------
72 Additional build-time package requirements:
75 ------------------------------------------------------------------------------
77 ------------------------------------------------------------------------------
79 Run-time package requirements:
81 libncurses10 or libncursesw10
82 libgdbm4 (only needed for slocal(1))
83 libiconv or libiconv2 (if you want iconv support)
84 libreadline7 (if you want readline support)
85 libsasl2_3 (if configured with --with-cyrus-sasl)
86 openssl (if configured with --with-tls)
88 Additional build-time package requirements:
89 libncurses-devel or libncursesw-devel
90 libgdbm4-devel (only needed for slocal(1))
91 libiconv-devel (if you want iconv support)
92 libreadline-devel (if you want readline support)
93 libsasl2-devel (if configuring with --with-cyrus-sasl)
94 openssl-devel (if configuring with --with-tls)
96 Older versions of libncurses-devel do not install /usr/include/curses.h,
97 /usr/include/term.h, and /usr/include/termcap.h. If yours does not,
98 either add symlinks in /usr/include/ to those files in its ncurses/
99 subdirectory, or build with:
100 make DEFAULT_INCLUDES='-I. -I/usr/include/ncurses'
102 When running the nmh test suite ("make check"), it helps to have /usr/bin/
103 ahead of any Windows directories on your PATH.
105 Note that the -link switch to refile cannot be used on FAT32 and other
106 filesystems that do not support hard links.
108 ------------------------------------------------------------------------------
110 ------------------------------------------------------------------------------
112 Lots of problems have been reported with using HPUX `cc'. In particular,
113 problems with `scan' giving incorrect dates (everything is 01/00). It is
114 highly recommended that you use `gcc' instead.
116 ------------------------------------------------------------------------------
118 ------------------------------------------------------------------------------
120 Irix make is notoriously buggy. If you're using it, you should "touch
121 config.h.in" before configuring to prevent a problem where it tries to rebuild
122 targets that shouldn't be rebuilt. (Alternately, you can just use GNU make
123 instead of Irix make.)
125 ------------------------------------------------------------------------------
126 SunOS 4.1.1/4.1.3/4.1.4
127 ------------------------------------------------------------------------------
129 You can't use the C compiler that comes with SunOS 4 since it isn't ANSI C.
130 But nmh builds just fine with gcc.
132 ------------------------------------------------------------------------------
136 nmh-workers@nongnu.org