Things that can be broken |
port, edit sendmail/conf.h |
Not all versions of Unix are
equal. Some implement important library routines in ways that are
considered broken. For sendmail to work properly
on such systems, it needs to know at compile time whether it is being
built on such a broken system. The compile-time macros that convey
this information to sendmail are listed and
described in Table 3-4.
Table 3-4. Compile-time macros for things that are broken
BROKEN_ANSI_LIBRARY
|
Some compilers claim to be ANSI-compliant, yet they lack the
strtoul(2) function. If, when you build
sendmail, you get an error saying that the
strtoul function could not be found, you can get
around that problem by defining this Build m4
compile-time macro.
|
BROKEN_RES_SEARCH
|
On Ultrix systems, if an unknown host is looked up with the
res_search(2) routine, that routine wrongly sets
h_errno to 0, when it should correctly set
h_errno to HOST_NOT_FOUND. If you define this
macro, sendmail will consider an
h_errno of 0 to be the same as HOST_NOT_FOUND.
|
DEC_OSF_BROKEN_GETPWENT
|
On DEC OSF/1 V3.2 and earlier, the MatchGECOS
option (MatchGECOS) fails to work. If you want to
use this option under those early versions you can define this
compile-time macro. The MatchGECOS option works as
advertised beginning with DEC OSF/1 V3.2C.
|
SAFENFSPATHCONF
|
If you have verified that a pathconf(2) call
with a _PC_CHOWN_RESTRICTED argument returns a negative or zero value
when a check is made on an NFS filesystem, where the underlying
system allows users to give away files to other users, you should
define this compile-time macro.
|
SIOCGIFCONF_IS_BROKEN
|
The SIOCGIFCONF ioctl(2) call is expected to
behave in the same manner it does on such systems as BSD, Solaris,
SunOS, HP-UX, etc. If yours behaves in a different manner, you should
define this compile-time macro.
|
SIOCGIFNUM_IS_BROKEN
|
The SIOCGIFNUM ioctl(2) call is expected to
behave in the same manner it does on Solaris and HPUX systems. If
yours behaves in a different manner, you should define this
compile-time macro.
|
Usually, you will not have to define any of these compile-time macros
unless you are porting sendmail to a completely
new system.
If you are running a precompiled sendmail, you
can use the -d0.10 debugging command-line switch
(-d0.10) to determine if any are supported
(each is supported that appears in the list). New ports should be
reported to sendmail@sendmail.org so that they
can be folded into future releases.
|