From b703ce01fb61094d0c651ba9ef2148ae43106edf Mon Sep 17 00:00:00 2001 From: Rudi Chen Date: Sun, 6 Sep 2015 21:08:50 -0400 Subject: [PATCH] Make sure libdl is linked after libcrypto. Fixes a `undefined reference to symbol 'dlclose@@GLIBC_2.2.5' error I was running into on Linux Mint 17.2. --- assignment-client/CMakeLists.txt | 4 ---- domain-server/CMakeLists.txt | 5 +++++ libraries/networking/CMakeLists.txt | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/assignment-client/CMakeLists.txt b/assignment-client/CMakeLists.txt index c9fd769822..84a36c6c51 100644 --- a/assignment-client/CMakeLists.txt +++ b/assignment-client/CMakeLists.txt @@ -13,10 +13,6 @@ link_hifi_libraries( physics ) -if (UNIX) - target_link_libraries(${TARGET_NAME} ${CMAKE_DL_LIBS}) -endif (UNIX) - include_application_version() copy_dlls_beside_windows_executable() diff --git a/domain-server/CMakeLists.txt b/domain-server/CMakeLists.txt index e4fa1d874d..ce683df698 100644 --- a/domain-server/CMakeLists.txt +++ b/domain-server/CMakeLists.txt @@ -31,5 +31,10 @@ include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") # append OpenSSL to our list of libraries to link target_link_libraries(${TARGET_NAME} ${OPENSSL_LIBRARIES}) +# libcrypto uses dlopen in libdl +if (UNIX) + target_link_libraries(${TARGET_NAME} ${CMAKE_DL_LIBS}) +endif (UNIX) + include_application_version() copy_dlls_beside_windows_executable() diff --git a/libraries/networking/CMakeLists.txt b/libraries/networking/CMakeLists.txt index 400fc5446a..274dae7420 100644 --- a/libraries/networking/CMakeLists.txt +++ b/libraries/networking/CMakeLists.txt @@ -27,6 +27,11 @@ include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") # append OpenSSL to our list of libraries to link target_link_libraries(${TARGET_NAME} ${OPENSSL_LIBRARIES} ${TBB_LIBRARIES}) +# libcrypto uses dlopen in libdl +if (UNIX) + target_link_libraries(${TARGET_NAME} ${CMAKE_DL_LIBS}) +endif (UNIX) + # append tbb includes to our list of includes to bubble target_include_directories(${TARGET_NAME} SYSTEM PUBLIC ${TBB_INCLUDE_DIRS}) include_application_version()