Files that must be read before building nmh should not go in the docs
[mmh] / MACHINES
1 #
2 # MACHINE -- operating system specific information
3 #
4 # $Id$
5 #
6
7 --------------------------------------
8
9 FreeBSD:
10 OpenBSD:
11 NetBSD:
12
13 Some BSD4.4 machines have problems when running nmh's configure script.
14 They will be unable to find the location of vi and sendmail.  This is
15 due to POSIX features (breakage?) in the shell sh.  The solution is to
16 run the configure script under the shell `bash':
17
18     % bash configure
19
20 --------------------------------------
21 Mac OS X/Rhapsody 5:
22
23 Version 5.3 at least has the same sh/bash bug as the *BSD systems
24 above. This appears to be fixed in 5.5.
25
26 Will not compile correctly unless you configure with the --enable-debug
27 option. It appears to find conflicts in the headers only when debugging
28 is disabled. With debugging enabled, it compiles and runs happily.
29
30 --------------------------------------
31
32 HPUX:
33
34 Lots of problems have been reported with using HPUX `cc'.  In particular,
35 problems with `scan' giving incorrect dates (everything is 01/00).
36 It is highly recommended that you use `gcc' instead.
37
38 Also, new versions of HPUX (10.20?) will core dump in `scan' because
39 of some workaround code in zotnet/tws/lexstring.c.  This workaround is
40 needed for older versions of HPUX, but causes problems on newer versions.
41 The solution is the added line (minus our indentation):
42
43     #undef hpux
44
45 after line 15 of the file zotnet/tws/lexstring.c.
46
47 --------------------------------------
48
49 Irix (SGI):
50
51 Irix make is notoriously buggy. If you're using it, you should "touch
52 config.h.in" before configuring to prevent a problem where it tries to
53 rebuild targets that shouldn't be rebuilt. (Alternately, you can just
54 use GNU make instead of Irix make.)
55
56 If you are compiling nmh with POP support, then the configuration
57 process will search for (and find) the Irix version of "ruserpass".
58 Unfortunately, this version is buggy and causes core dumps.  The best
59 bet is to use the version that comes with nmh.  After running configure,
60 edit the Makefile in the "sbr" directory, and add "ruserpass.o" to the
61 LIBOBJS line.  Then run "make" as normal.
62
63 --------------------------------------
64
65 Linux:
66
67 *** No longer necessary ***
68 Make sure you uncomment the Linux section in the config.h file after
69 running configure. 
70
71 *** This test has been updated and should work now ***
72 The configuration script does a test to discover the functions
73 sigsetjmp/siglongjmp.  Since they are macros on Linux, the configuration
74 process doesn't find them.  After running configure, you should change
75 the line in config.h to define HAVE_SIGSETJMP. 
76
77 *** This test has been updated and should work now ***
78 For some Linux distributions, the configure script doesn't find the
79 ndbm/gdbm library (dbm_open, dbm_close).  In this case, you should try to
80 configure nmh like this:
81
82     LIBS=-lgdbm ./configure [configure options]
83
84 The configuration script does a test to discover if your vi is broken
85 (if it reports non-zero exit codes on certain pseudo-errors).  This test
86 will hang if the program `ex' on your system is a link to the vi clone
87 `vile'.  The workaround is to replace the command ex as a link to another
88 vi clone such as nvi or elvis.
89
90 --------------------------------------
91
92 SCO:
93
94 *** currently handled by config.guess ***
95 Make sure you uncomment the SCO section in the config.h file after
96 running configure.
97
98 --------------------------------------
99
100 Solaris:
101
102 With --enable-debug you'll see a lot of warnings. This is even worse
103 when compiling using the Sun Workshop compiler since it issues a
104 warning for every instance of a problem instead of summarizing them.
105 The main one concerns arrays with an index of type char. This is ok.
106 The array itself is a hash of chars, so the array size and the type
107 match. There isn't another safe and portable way to do this at the
108 moment. An explicit cast would get rid of the warnings, but I think
109 it's better to leave it complaining for now until we come up with
110 a better solution. The whole thing is probablly going to be chucked
111 with UTC-8 support anyway.
112
113 Other than the warnings, it builds ok.
114
115 --------------------------------------
116
117 SunOS 4.1.1/4.1.3/4.1.4:
118
119 You can't use the C compiler that comes with SunOS 4 since
120 it isn't ANSI C.  But nmh builds just fine with gcc. With
121 --enable-debug you will see a lot of warnings. 
122
123 --------------------------------------