From ba6b8ee5b6dee19493a150c3715b0e202440d206 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Thu, 24 Jan 2019 18:19:51 +0100 Subject: [PATCH] Fix static linking with OpenSSL Adjust link order of libz to solve bug with static linking and remove host paths when looking for openssl. [Vincent: - Adapt the patch to make it apply on the new version.] [Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9, 0.3.1.7, 0.3.2.10 & 0.3.4.8, 0.3.5.7] [Fabrice: fix detection of openssl functions in 0.3.5.8] Signed-off-by: Vicente Olivert Riera Signed-off-by: Bernd Kuhls Signed-off-by: Fabrice Fontaine --- acinclude.m4 | 2 +- configure.ac | 4 ++-- src/test/include.am | 8 ++++---- src/tools/include.am | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 5ecdf1d5c..be5633f4f 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -166,7 +166,7 @@ AC_CACHE_CHECK([for $1 directory], tor_cv_library_$1_dir, [ for tor_trydir in "$try$1dir" "(system)" "$prefix" /usr/local /usr/pkg $8; do LDFLAGS="$tor_saved_LDFLAGS" - LIBS="$tor_saved_LIBS $3" + LIBS="$3 $tor_saved_LIBS" CPPFLAGS="$tor_saved_CPPFLAGS" if test -z "$tor_trydir" ; then diff --git a/configure.ac b/configure.ac index 05e1392cf..580befa6b 100644 --- a/configure.ac +++ b/configure.ac @@ -885,7 +885,7 @@ AC_ARG_WITH(ssl-dir, ]) AC_MSG_NOTICE([Now, we'll look for OpenSSL >= 1.0.1]) -TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI $TOR_LIB_WS32], +TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto -lz $TOR_LIB_GDI $TOR_LIB_WS32], [#include char *getenv(const char *);], [struct ssl_cipher_st; @@ -919,7 +919,7 @@ dnl Now check for particular openssl functions. save_LIBS="$LIBS" save_LDFLAGS="$LDFLAGS" save_CPPFLAGS="$CPPFLAGS" -LIBS="$TOR_OPENSSL_LIBS $LIBS" +LIBS="$TOR_OPENSSL_LIBS -lz $LIBS" LDFLAGS="$TOR_LDFLAGS_openssl $LDFLAGS" CPPFLAGS="$TOR_CPPFLAGS_openssl $CPPFLAGS" diff --git a/src/test/include.am b/src/test/include.am index ecb768957..39a622e88 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -317,8 +317,8 @@ src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) src_test_test_ntor_cl_LDADD = \ $(TOR_INTERNAL_LIBS) \ $(rust_ldadd) \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ - $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ + @TOR_LIB_MATH@ \ + $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ @CURVE25519_LIBS@ @TOR_LZMA_LIBS@ src_test_test_ntor_cl_AM_CPPFLAGS = \ $(AM_CPPFLAGS) @@ -327,8 +327,8 @@ src_test_test_hs_ntor_cl_SOURCES = src/test/test_hs_ntor_cl.c src_test_test_hs_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) src_test_test_hs_ntor_cl_LDADD = \ $(TOR_INTERNAL_LIBS) \ - @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ - $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ + @TOR_LIB_MATH@ \ + $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ $(AM_CPPFLAGS) diff --git a/src/tools/include.am b/src/tools/include.am index f7aa7e0d1..4c4e8aa7a 100644 --- a/src/tools/include.am +++ b/src/tools/include.am @@ -30,7 +30,7 @@ src_tools_tor_gencert_LDADD = \ $(TOR_CRYPTO_LIBS) \ $(TOR_UTIL_LIBS) \ $(rust_ldadd) \ - @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ $(TOR_LIBS_CRYPTLIB) \ + @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ endif @@ -40,7 +40,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \ src/trunnel/libor-trunnel.a \ $(TOR_CRYPTO_LIBS) \ $(TOR_UTIL_LIBS) \ - @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \ + @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_GDI@ if USE_NSS -- 2.20.1