Hi everyboby, I tried to build httpd-2.3-dev against a static SSL lib today and was astonished to see apr-util's configure fail when trying to detect SSL_accept().
Thinking it might be a missing reference to -lz (because my libssl is built with compresseion enabled) I checked the config log and found that, after the test of -lcrypto succeeded, the conftest prog (referencing SSL_accept()) is linked against -lssl only, without a reference to -lcrypto. That will be successful in the shared lib case, because libssl.so automatically references libcrypto.so as a dependency, but for static libs it simply results in unresolved symbols. The patch that I attach uses the 5th argument to AC_CHECK_LIB() which allows for adding additional libraries for the library linking test. This patch should work for both static and shared libs (because the -lcrypto test appeared earlier, and succeeded). Martin -- <[EMAIL PROTECTED]> | Fujitsu Siemens http://www.fujitsu-siemens.com/imprint.html | 81730 Munich, Germany
Index: build/ssl.m4 =================================================================== --- build/ssl.m4 (Revision 523652) +++ build/ssl.m4 (Arbeitskopie) @@ -51,7 +51,7 @@ [ if test "$withval" = "yes"; then AC_CHECK_HEADERS(openssl/x509.h, [openssl_have_headers=1]) - AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1])) + AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto)) if test "$openssl_have_headers" != "0" && test "$openssl_have_libs" != "0"; then apu_have_openssl=1 fi @@ -69,7 +69,7 @@ AC_MSG_NOTICE(checking for openssl in $withval) AC_CHECK_HEADERS(openssl/x509.h, [openssl_have_headers=1]) - AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1])) + AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto)) if test "$openssl_have_headers" != "0" && test "$openssl_have_libs" != "0"; then apu_have_openssl=1 APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) @@ -78,7 +78,7 @@ if test "$apu_have_openssl" != "1"; then AC_CHECK_HEADERS(openssl/x509.h, [openssl_have_headers=1]) - AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1])) + AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto)) if test "$openssl_have_headers" != "0" && test "$openssl_have_libs" != "0"; then apu_have_openssl=1 APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib]) @@ -91,7 +91,7 @@ fi ], [ AC_CHECK_HEADERS(openssl/x509.h, [openssl_have_headers=1]) - AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1])) + AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto)) if test "$openssl_have_headers" != "0" && test "$openssl_have_libs" != "0"; then apu_have_openssl=1 fi