NEED...
Something amiss with your OS? Port with confENVDEF
The sendmail program requires certain C-language library routines to exist. If any are missing from your library, define the macro listed in Table 3-9 that seems to fill your needs, and sendmail will try to emulate that need.
Each macro is defined with confENVDEF
in your Build
m4 file by setting it to a value of 1
(NEEDPUTENV is an exception in that 1 or 2 can be
used):
APPENDDEF(`confENVDEF', `-DNEEDFSYNC=1')
Note that these are correctly defined for all currently supported systems. You should need to redefine them only if you are porting sendmail to a completely new system.
Table 3-9. Define replacements for missing C library routines
Compile-time macro |
Emulates |
---|---|
NEEDFSYNC |
Replaces a missing fsync(2). The sendmail program will try to simulate it by using fcntl(2), if available; otherwise, sendmail will not “sync” to disk. This latter circumstance is undesirable and can result in unreliable mail delivery, but it works. |
NEEDGETOPT |
The sendmail program calls getopt(3) twice when parsing its command-line arguments. Some versions of getopt(3) do odd things when called twice. If yours is one of these, replace it. This NEEDGETOPT macro has been replaced, as of V8.12, by the SM_CONF_GETOPT macro (SM_... on page 139). |
NEEDINTERRNO |
If set, this macro says that errno is not declared in your system’s errno.h file. |
NEED_PERCENTQ |
This should be set if your system C-language library’s printf(3) does not support both “%lld” and “%llu.” ... |
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.