The
ndbm(3) form of database uses two files
(.pag and .dir) for each
database. Databases cannot be shared by different architectures
across a network. If you intend to support aliasing in an efficient
manner, you should at least define this NDBM (or NEWDB, described
next) in your Build m4
file:
APPENDDEF(`confMAPDEF', `-DNDBM')
The ndbm(3) routines are used primarily to look
up aliases. They can also be used to declare
dbm-type maps (Section 23.2.2)
with the K configuration command.
Library routines to support ndbm(3) are
available with most modern commercial versions of Unix. You might
have to specify library support with a -lndbm in
the confLIBS line of your
Build m4 file. If you are
running a precompiled sendmail binary, you can
use the -d0.1 debugging command-line switch (-d0.1) to determine if NDBM support is included (if
it appears in the list, support is included).
If, when you build sendmail, you get an error
something like this:
"map.c", line 23: syntax error at or near variable name "README"
you are using a defectively installed db
library. Versions of the db package from 2.0
through 2.3.1 can interfere with ndbm, unless
precautionary steps are taken. Read the file
sendmail/README for a description of how to
correct this problem.