From: Alexander Turenko <alexander.turenko@tarantool.org>
To: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
Cc: tarantool-patches@freelists.org, Kirill Yukhin <kyukhin@tarantool.org>
Subject: [tarantool-patches] Re: [PATCH v1] Fix static build
Date: Mon, 10 Jun 2019 10:48:27 +0300 [thread overview]
Message-ID: <20190610074826.rjar6qchwn4ks3mi@tkn_work_nb> (raw)
In-Reply-To: <3a25f57555ed97795bbaa34c69a6faf85aeb8bd1.1559740773.git.avtikhon@tarantool.org>
Thanks!
Using ${CMAKE_DL_LIBS} here is the right thing, because, say, FreeBSD 10
does not contain libdl.
The patch looks good for me.
Kirill, please proceed. I would push it down to 1.10.
WBR, Alexander Turenko.
On Fri, Jun 07, 2019 at 06:55:37AM +0300, Alexander V. Tikhonov wrote:
> Added to cmake environment CMAKE_DL_LIBS (The name of the library
> that has dlopen and dlclose in it, usually -ldl) to openssl build
> to add DL library, to fix the following fails:
>
> Linking CXX executable crypto.test
> /usr/local/lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
> dso_dlfcn.c:(.text+0x11): undefined reference to `dlopen'
> dso_dlfcn.c:(.text+0x24): undefined reference to `dlsym'
> dso_dlfcn.c:(.text+0x2f): undefined reference to `dlclose'
> /usr/local/lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':
> dso_dlfcn.c:(.text+0x334): undefined reference to `dlsym'
> dso_dlfcn.c:(.text+0x3f2): undefined reference to `dlerror'
> /usr/local/lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
> dso_dlfcn.c:(.text+0x459): undefined reference to `dlopen'
> dso_dlfcn.c:(.text+0x4c9): undefined reference to `dlclose'
> dso_dlfcn.c:(.text+0x502): undefined reference to `dlerror'
> /usr/local/lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_pathbyaddr':
> dso_dlfcn.c:(.text+0x5a1): undefined reference to `dladdr'
> dso_dlfcn.c:(.text+0x601): undefined reference to `dlerror'
> /usr/local/lib64/libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':
> dso_dlfcn.c:(.text+0x662): undefined reference to `dlclose'
> collect2: error: ld returned 1 exit status
> make[2]: *** [test/unit/crypto.test] Error 1
> make[1]: *** [test/unit/CMakeFiles/crypto.test.dir/all] Error 2
>
> Closes #4245
> ---
>
> Github: https://github.com/tarantool/tarantool/compare/avtikhon/gh-4245-static-build
> Issue: https://github.com/tarantool/tarantool/issues/4245
>
> cmake/FindOpenSSL.cmake | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/cmake/FindOpenSSL.cmake b/cmake/FindOpenSSL.cmake
> index 8cd22cc8d..f3ee1de24 100644
> --- a/cmake/FindOpenSSL.cmake
> +++ b/cmake/FindOpenSSL.cmake
> @@ -177,7 +177,7 @@ if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
> endif ()
> endif ()
>
> -set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} )
> +set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS})
>
> foreach(_comp IN LISTS OpenSSL_FIND_COMPONENTS)
> if(_comp STREQUAL "Crypto")
> --
> 2.17.1
>
next prev parent reply other threads:[~2019-06-10 7:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-05 13:20 [tarantool-patches] " Alexander V. Tikhonov
2019-06-10 7:48 ` Alexander Turenko [this message]
2019-06-13 8:19 ` [tarantool-patches] " Kirill Yukhin
2019-06-13 9:47 ` Alexander Turenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190610074826.rjar6qchwn4ks3mi@tkn_work_nb \
--to=alexander.turenko@tarantool.org \
--cc=avtikhon@tarantool.org \
--cc=kyukhin@tarantool.org \
--cc=tarantool-patches@freelists.org \
--subject='[tarantool-patches] Re: [PATCH v1] Fix static build' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox