home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

NDBM

Support Unix ndbm(3) databases tune with confMAPDEF

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.

    Previous Section Next Section