Description of Problem: At least one function contained in the libsmutil.a static lib shipped with sendmail-devel neds the `ldap_err2string' function When one tries to build some piece of software that needs libsmutil.a, the link process fails. Version-Release number of selected component (if applicable): sendmail-devel-8.11.6-15.i386.rpm How Reproducible: Always Steps to Reproduce: 1. install sendmail-devel package (if not present), uninstall openldap-devel (if present). Note that installation of the first does not require the second. 2. Try to compile the attached test file (conftest.c borrowed from an autoconf script) using something like: $ gcc -o conftest -O2 -march=i386 -mcpu=i686 -pthread conftest.c -lsmutil 3. Note that the build fails. Actual Results: /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libsmutil.a(errstring.o): In function `errstring': errstring.o(.text+0x25a): undefined reference to `ldap_err2string' collect2: ld returned 1 exit status Expected Results: installation of sendmail-devel should have required previous installation of openldap-devel Additional Information: This is the relevant part of a config.log file: configure:2239: checking for errstring in -lsmutil configure:2258: gcc -o conftest -O2 -march=i386 -mcpu=i686 -pthread conftest.c -lsmutil 1>&5 /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libsmutil.a(errstring.o): In function `errstring': errstring.o(.text+0x25a): undefined reference to `ldap_err2string' collect2: ld returned 1 exit status configure: failed program was: #line 2247 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char errstring(); int main() { errstring() ; return 0; }
Created attachment 87048 [details] conftest.c
openldap-devel is listed in the current rpm, so this seems to be fixed. Thanks a lot, Florian La Roche