📄 readme
字号:
this in the environment before invoking the local mailer. Some
have used procmail to avoid this problem in the past. It works
but some have experienced file locking problems with their DG/UX
ports of procmail.
Apollo DomainOS
If you are compiling on Apollo, you will have to create an empty
file "unistd.h" (for DomainOS 10.3 and earlier) and create a file
"dirent.h" containing:
#include <sys/dir.h>
#define dirent direct
(devtools/OS/DomainOS will attempt to do both of these for you.)
HP-UX 8.00
Date: Mon, 24 Jan 1994 13:25:45 +0200
From: Kimmo Suominen <Kimmo.Suominen@lut.fi>
Subject: 8.6.5 w/ HP-UX 8.00 on s300
Just compiled and fought with sendmail 8.6.5 on a HP9000/360 (ie. a
series 300 machine) running HP-UX 8.00.
I was getting segmentation fault when delivering to a local user.
With debugging I saw it was faulting when doing _free@libc... *sigh*
It seems the new implementation of malloc on s300 is buggy as of 8.0,
so I tried out the one in -lmalloc (malloc(3X)). With that it seems
to work just dandy.
When linking, you will get the following error:
ld: multiply defined symbol _freespace in file /usr/lib/libmalloc.a
but you can just ignore it. You might want to add this info to the
README file for the future...
Linux
Something broke between versions 0.99.13 and 0.99.14 of Linux:
the flock() system call gives errors. If you are running .14,
you must not use flock. You can do this with -DHASFLOCK=0.
Around the inclusion of bind-4.9.3 & Linux libc-4.6.20, the
initialization of the _res structure changed. If /etc/hosts.conf
was configured as "hosts, bind" the resolver code could return
"Name server failure" errors. This is supposedly fixed in
later versions of libc (>= 4.6.29?), and later versions of
sendmail (> 8.6.10) try to work around the problem.
Some older versions (< 4.6.20?) of the libc/include files conflict
with sendmail's version of cdefs.h. Deleting sendmail's version
on those systems should be non-harmful, and new versions don't care.
Sendmail assumes that libc has snprintf, which has been true since
libc 4.7.0. If you are running an older version, you will need to
use -DHASSNPRINTF=0 in the Makefile. If may be able to use -lbsd
(which includes snprintf) instead of turning this off on versions
of libc between 4.4.4 and 4.7.0 (snprintf improves security, so
you want to use this if at all possible).
NOTE ON LINUX & BIND: By default, the Makefile generated for Linux
includes header files in /usr/local/include and libraries in
/usr/local/lib. If you've installed BIND on your system, the header
files typically end up in the search path and you need to add
"-lresolv" to the LIBS line in your Makefile. Really old versions
may need to include "-l44bsd" as well (particularly if the link phase
complains about missing strcasecmp, strncasecmp or strpbrk).
Complaints about an undefined reference to `__dn_skipname' in
domain.o are a sure sign that you need to add -lresolv to LIBS.
Newer versions of Linux are basically threaded BIND, so you may or
may not see complaints if you accidentally mix BIND
headers/libraries with virginal libc. If you have BIND headers in
/usr/local/include (resolv.h, etc) you *should* be adding -lresolv
to LIBS. Data structures may change and you'd be asking for a
core dump.
A number of problems have been reported regarding the Linux 2.2.0
kernel. So far, these problems have been tracked down to syslog()
and DNS resolution. We believe the problem is with the poll()
implementation in the Linux 2.2.0 kernel and poll()-aware versions
of glib (at least up to 2.0.111).
Some pre-glibc distributions of Linux include a syslog.h that does
not work properly with SFIO. You can fix this by adding
"#include <syslog.h>" to the SFIO version of stdio.h as the very
first line.
AIX 4.X
The AIX 4.X linker uses library paths specified during compilation
using -L for run-time shared library searches. Therefore, it is
vital that relative and unsafe directory paths not be using when
compiling sendmail. Because of this danger, by default, compiles
on AIX use the -blibpath option to limit shared libraries to
/usr/lib and /lib. If you need to allow more directories, such as
/usr/local/lib, modify your devtools/Site/site.AIX.4.2.m4,
site.AIX.4.3.m4, and/or site.AIX.4.x.m4 file(s) and set confLDOPTS
approriately. For example:
define(`confLDOPTS', `-blibpath:/usr/lib:/lib:/usr/local/lib')
Be sure to only add (safe) system directories.
The AIX version of GNU ld also exhibits this problem. If you are
using that version, instead of -blibpath, use its -rpath option.
For example:
gcc -Wl,-rpath /usr/lib -Wl,-rpath /lib -Wl,-rpath /usr/local/lib
AIX 4.3.3
From: Valdis.Kletnieks@vt.edu
Date: Sun, 02 Jul 2000 03:58:02 -0400
Under AIX 4.3.3, after applying bos.adt.include 4.3.3.12 to close the
BIND 8.2.2 security holes, you can no longer build with -DNETINET6
because they changed the value of __RES in resolv.h but failed to
actually provide the API changes that the change implied.
Workarounds:
1) Compile without -DNETINET6
2) Build against a real Bind 8.2.2 include/lib tree
3) Wait for IBM to fix it
AIX 4.2
The AIX m4 implements a different mechanism for ifdef which is
inconsistent with other versions of m4. Therefore, it will not
work properly with the sendmail Build architecture or m4
configuration method. To work around this problem, please use
GNU m4 from ftp://ftp.gnu.org/pub/gnu/.
AIX 3.x
This version of sendmail does not support MB, MG, and MR resource
records, which are supported by AIX sendmail.
Several people have reported that the IBM-supplied named returns
fairly random results -- the named should be replaced. It is not
necessary to replace the resolver, which will simplify installation.
A new BIND resolver can be found at http://www.isc.org/isc/.
AIX 3.1.x
The supplied load average code only works correctly for AIX 3.2.x.
For 3.1, use -DLA_TYPE=LA_SUBR and get the latest ``monitor''
package by Jussi Maki <jmaki@hut.fi> from ftp.funet.fi in the
directory pub/unix/AIX/rs6000/monitor-1.12.tar.Z; use the loadavgd
daemon, and the getloadavg subroutine supplied with that package.
If you don't care about load average throttling, just turn off
load average checking using -DLA_TYPE=LA_ZERO.
AIX 2.2.1
Date: Mon Dec 4 14:14:56 CST 1995
From: Mark Whetzel <markw@antimatr.houston.tx.us>
Subject: Porting sendmail 8.7.2 to AIX V2 on the RT.
This version of sendmail does not support MB, MG, and MR resource
records, which are supported by AIX sendmail.
AIX V2 on the RT does not have 'paths.h'. Create a null
file in the 'obj' directory to remove this compile error.
A patch file is needed to get the BSD 'db' library to compile
for AIX/RT. I have sent the necessary updates to the author,
but they may not be immediately available.
[NOTE: Berkeley DB version 2.X runs on AIX/RT.]
The original AIX/RT resolver libraries are very old, and you
should get the latest BIND to replace it. The 4.8.3 version
has been tested, but 4.9.x is out and should work.
To make the load average code work correctly requires an
external routine, as the kernel does not maintain system
load averages, similar to AIX V3.1.x. A reverse port of the
older 1.05 'monitor' load average daemon code written by
Jussi Maki that will work on AIX V2 for the RT is available
by E-mail to Mark Whetzel <markw@antimatr.houston.tx.us>.
That code depends on an external daemon to collect system
load information, and the external routine 'getloadavg',
that will return that information. The 'LA_SUBR' define
will handle this for AIX V2 on the RT.
Note: You will have to change devtools/OS/AIX.2 to correctly
point to the locatons of the updated BIND source tree and
the location of the 'newdb' tree and library location.
You will also have to change devtools/OS/AIX.2 to know
about the location of the 'getloadavg' routine if you use
the LA_SUBR define.
RISC/os
RISC/os from MIPS is a merged AT&T/Berkeley system. When you
compile on that platform you will get duplicate definitions
on many files. You can ignore these.
System V Release 4 Based Systems
There is a single devtools OS that is intended for all SVR4-based
systems (built from devtools/OS/SVR4). It defines __svr4__,
which is predefined by some compilers. If your compiler already
defines this compile variable, you can delete the definition from
the generated Makefile or create a devtools/Site/site.config.m4
file.
It's been tested on Dell Issue 2.2.
DELL SVR4
Date: Mon, 06 Dec 1993 10:42:29 EST
From: "Kimmo Suominen" <kim@grendel.lut.fi>
Message-ID: <2d0352f9.lento29@lento29.UUCP>
To: eric@cs.berkeley.edu
Cc: sendmail@cs.berkeley.edu
Subject: Notes for DELL SVR4
Eric,
Here are some notes for compiling Sendmail 8.6.4 on DELL SVR4. I ran
across these things when helping out some people who contacted me by
e-mail.
1) Use gcc 2.4.5 (or later?). Dell distributes gcc 2.1 with their
Issue 2.2 Unix. It is too old, and gives you problems with
clock.c, because sigset_t won't get defined in <sys/signal.h>.
This is due to a problematic protection rule in there, and is
fixed with gcc 2.4.5.
2) If you don't use the new Berkeley DB (-DNEWDB), then you need
to add "-lc -lucb" to the libraries to link with. This is because
the -ldbm distributed by Dell needs the bcopy, bcmp and bzero
functions. It is important that you specify both libraries in
the given order to be sure you only get the BSTRING functions
from the UCB library (and not the signal routines etc.).
3) Don't leave out "-lelf" even if compiling with "-lc -lucb".
The UCB library also has another copy of the nlist routines,
but we do want the ones from "-lelf".
If anyone needs a compiled gcc 2.4.5 and/or a ported DB library, they
can use anonymous ftp to fetch them from lut.fi in the /kim directory.
They are copies of what I use on grendel.lut.fi, and offering them
does not imply that I would also support them. I have sent the DB
port for SVR4 back to Keith Bostic for inclusion in the official
distribution, but I haven't heard anything from him as of today.
- gcc-2.4.5-svr4.tar.gz (gcc 2.4.5 and the corresponding libg++)
- db-1.72.tar.gz (with source, objects and a installed copy)
Cheers
+ Kim
--
* Kimmo.Suominen@lut.fi * SysVr4 enthusiast at GRENDEL.LUT.FI *
* KIM@FINFILES.BITNET * Postmaster and Hostmaster at LUT.FI *
* + 358 200 865 718 * Unix area moderator at NIC.FUNET.FI *
ConvexOS 10.1 and below
In order to use the name server, you must create the file
/etc/use_nameserver. If this file does not exist, the call
to res_init() will fail and you will have absolutely no
access to DNS, including MX records.
Amdahl UTS 2.1.5
In order to get UTS to work, you will have to port BIND 4.9.
The vendor's BIND is reported to be ``totally inadequate.''
See sendmail/contrib/AmdahlUTS.patch for the patches necessary
to get BIND 4.9 compiled for UTS.
UnixWare
According to Alexander Kolbasov <sasha@unitech.gamma.ru>,
the m4 on UnixWare 2.0 (still in Beta) will core dump on the
config files. GNU m4 and the m4 from UnixWare 1.x both work.
According to Larry Rosenman <ler@lerami.lerctr.org>:
UnixWare 2.1.[23]'s m4 chokes (not obviously) when
processing the 8.9.0 cf files.
I had a LOCAL_RULE_0 that wound up AFTER the
SBasic_check_rcpt rules using the SCO supplied M4.
GNU M4 works fine.
UNICOS 8.0.3.4
Some people have reported that the -O flag on UNICOS can cause
problems. You may want to turn this off if you have problems
running sendmail. Reported by Jerry G. DeLapp <jgd@acl.lanl.gov>.
GNU getopt
I'm told that GNU getopt has a problem in that it gets confused
by the double call. Use the version
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -