I try to emerge sendmail with the following options # USE='-sasl -ldap' emerge --pretend --verbose sendmail These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] mail-mta/sendmail-8.12.11-r3 -ldap -mailwrapper +mbox -milter -sasl +ssl +tcpd 0 kB Total size of downloads: 0 kB Emerge fails during compilation # USE='-sasl -ldap' emerge sendmail .......... cc -o vacation -s vacation.o /var/tmp/portage/sendmail-8.12.11-r3/work/sendmail-8.12.11/obj.Linux.2.6.9-gentoo-r1.x86_64/libsmdb/libsmdb.a /var/tmp/portage/sendmail-8.12.11-r3/work/sendmail-8.12.11/obj.Linux.2.6.9-gentoo-r1.x86_64/libsmutil/libsmutil.a /var/tmp/portage/sendmail-8.12.11-r3/work/sendmail-8.12.11/obj.Linux.2.6.9-gentoo-r1.x86_64/libsm/libsm.a -ldb -lresolv -lcrypt -lnsl -lwrap -lssl -lcrypto /var/tmp/portage/sendmail-8.12.11-r3/work/sendmail-8.12.11/obj.Linux.2.6.9-gentoo-r1.x86_64/libsmdb/libsmdb.a(smdb2.o)(.text+0x13e): In function `smdb_db_open':: undefined reference to `db_version' /var/tmp/portage/sendmail-8.12.11-r3/work/sendmail-8.12.11/obj.Linux.2.6.9-gentoo-r1.x86_64/libsmdb/libsmdb.a(smdb2.o)(.text+0x939): In function `smdb_db_open_internal': : undefined reference to `db_create' collect2: ld returned 1 exit status make[1]: *** [vacation] Error 1 Reproducible: Always Steps to Reproduce: 1. emerge sendmail with flags described above 2. 3. Actual Results: compilation and emerge fails Expected Results: emerge is expected to succeed
Just had the exact same error while I was updating. The fact that undefined reference is to a symbol in the berkdb library made me wonder if it had anything to do with my upgrade to gcc 3.4.1 which was making the old berkdb incompatible with the new sendmail. So I re-emerge sys-libs/db and retried, and sendmail worked. Try doing that too, hope it helps you like it did for me.
I'm not getting this with recent sendmail/berkdb versions and anyway this is most probably not related to the sendmail ebuild itself but a general berkdb issue. I'm closing it as INVALID, please reopen if necessary.