Sendmail8.13, SUSE9.0
Вот мой site.config.m4:
APPENDDEF(`conf_sendmail_ENVDEF',`-DMILTER')
APPENDDEF(`confMAPDEF',`-DMAP_NEWDB')
APPENDDEF(`confMAPDEF',`-DMAP_REGEX')
APPENDDEF(`confENVDEF', `-DSASL=2')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
APPENDDEF(`confLIBDIRS',`-L/usr/lib/sasl2/')
APPENDDEF(`confINCDIRS',`-I/usr/include/sasl')
sh Build -c показывает, что опция -DMAP_NEWDB задействована:
...
cc -M -I. -I../../include -I/usr/include/sasl -DMAP_NEWDB -DMAP_REGEX -DSASL=2
...
cc -O2 -I. -I../../include -I/usr/include/sasl -DMAP_NEWDB -DMAP_REGEX -DSASL=2
...
Компиляция завершается без ошибок.
Теперь проверяю, поддерживается ли NEWDB:
sendmail -bt -d0.4 </dev/null
Version 8.13.3
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETUNIX PIPELINING SASLv2 SCANF XDEBUG/etc/mail/sendmail.cf: line 173: readcf: map access: class hash not available
/etc/mail/sendmail.cf: line 193: readcf: map Denied_IP: class hash not available
/etc/mail/sendmail.cf: line 194: readcf: map ADDR_LIST: class hash not available
И нет его ...
В чем тут может быть дело?
Кстати, эта опция никогда раньше мною не использовалась (v.8.9.3, 8.10.x, 8.12.1, 8.12.10 на RH5.2 и BC6.2), т.к. она всегда ставилась по умолчанию:
devtools/README:
confMAPDEF [varies] The map definitions, e.g., -DNDBM -DNEWDB. -DNEWDB is always added if libdb.* can be found.
В SUSE9.0 присутствует /lib/libdb.so.2