From 8a4708a8afd210f7a5a7a15d99f6e4dad99e7592 Mon Sep 17 00:00:00 2001 From: Sebastian Blunt Date: Sat, 29 Apr 2017 11:58:24 +0200 Subject: [PATCH] Fix compiling with autotools and openssl 1.1.0 Since the functions previously checked against have been removed in openssl 1.1.0, it would not compile. This changes it so that functions available in both 1.0.2 and 1.1.0 are used instead. I originally had a lot of problems getting it to work, using the example from https://wiki.openssl.org/index.php/Library_Initialization#Autoconf as then it would no longer link against ssl. It turns out that this was because when AC_CHECK_LIB has a action-if-found specified, it will NOT add ssl to LIBS, as opposed to what is said on https://autotools.io/autoconf/finding.html -- I discovered this after finally just going to the original documentation, which correctly documents the macro (https://www.gnu.org/software/autoconf/manual/autoconf-2.61/html_node/Libraries.html) --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 6771642..7664aa4 100644 --- a/configure.ac +++ b/configure.ac @@ -113,8 +113,8 @@ AS_IF([test "x$with_ssl" = xmbedtls], [ ]) AS_IF([test "x$with_ssl" = xopenssl], [ AC_CHECK_HEADERS([openssl/ssl.h], [], [AC_MSG_ERROR([could not find openssl/ssl.h])]) - AC_CHECK_LIB([crypto], [BN_init], [], [AC_MSG_ERROR([could not find libcrypto])]) - AC_CHECK_LIB([ssl], [SSL_library_init], [], [AC_MSG_ERROR([could not find libssl])]) + AC_CHECK_LIB([crypto], [CRYPTO_new_ex_data], [], [AC_MSG_ERROR([could not find libcrypto])]) + AC_CHECK_LIB([ssl], [SSL_new], [], [AC_MSG_ERROR([could not find libssl])]) ]) AS_IF([test "x$with_ssl" = xgnutls], [ AC_CHECK_HEADERS([gnutls/gnutls.h], [], [AC_MSG_ERROR([could not find gnutls/gnutls.h])]) -- 2.30.2