There is apparently a bug in autoconf: when calling AC_CHECK_LIB, it uses -l and -L in the wrong order. It does not disturb gcc or Tru64's cc, but it fails with Sun's cc. With the configure.in attached, this fails: ./configure --with-ssl=$HOME with the following config.log: configure:795: cc -o conftest -g -I/home/bortz/include conftest.c -lssl -lcrypto -L/home/bortz/lib 1>&5 ld: fatal: library -lssl: not found ld: fatal: library -lcrypto: not found Because -L was put too late. If I run cc by hand with the right order, SSL is detected. Indeed, the fault seems to be in acgeneral.m4, when defining AC_CHECK_LIB: LIBS="-l$1 $5 $LIBS" IMHO, it should be: LIBS="$LIBS -l$1 $5" % autoconf --version Autoconf version 2.13 (Debian 2.2 package)
AC_INIT(foo.c) AC_ARG_WITH(ssl, [--with-ssl[=DIR] SSL crypt support (needs OpenSSL)],dnl [if test "$withval" != "no"; then AC_DEFINE(OPENSSL) OPENSSL=1 if test "$withval" != "yes"; then SSLROOT=$withval LIBS="${LIBS} -L$SSLROOT/lib" CPPFLAGS="${CPPFLAGS} -I$SSLROOT/include" fi fi], dnl Default: disable it ) AC_PROG_CC # Check OpenSSL AC_DEFUN([CF_LIB_OPENSSL], [ AC_CHECK_LIB(ssl,SSL_CTX_new, [LIBS="${LIBS} -lssl -lcrypto"], [AC_ERROR([Get the OpenSSL library (http://www.openssl.org/)])], dnl -lcrypto )]) if test "$OPENSSL" = "1"; then CF_LIB_OPENSSL fi AC_OUTPUT(Makefile)