From 54c704e9030792ece85a3ed8d0f05416fa43cd08 Mon Sep 17 00:00:00 2001 From: Benjamin Kietzman Date: Fri, 15 Mar 2024 10:59:06 -0400 Subject: [PATCH 1/2] GH-40577: [C++] Ensure pkg-config flags include -ldl for static builds --- cpp/src/arrow/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt index c5449d9956c..2e92fb6257a 100644 --- a/cpp/src/arrow/CMakeLists.txt +++ b/cpp/src/arrow/CMakeLists.txt @@ -968,6 +968,8 @@ if(NOT ARROW_BUILD_SHARED AND ARROW_BUILD_STATIC) string(APPEND ARROW_TESTING_PC_CFLAGS "${ARROW_TESTING_PC_CFLAGS_PRIVATE}") set(ARROW_TESTING_PC_CFLAGS_PRIVATE "") + + string(APPEND ARROW_PC_LIBS_PRIVATE " -l${CMAKE_DL_LIBS}") else() set(ARROW_PC_LIBS "") set(ARROW_PC_REQUIRES "") From 00c4b063f05e5b0e1fc073f7eba230e248e2da88 Mon Sep 17 00:00:00 2001 From: Benjamin Kietzman Date: Fri, 15 Mar 2024 12:01:55 -0400 Subject: [PATCH 2/2] refactor assignment of pc libs --- cpp/src/arrow/CMakeLists.txt | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt index 2e92fb6257a..3d1b621db0e 100644 --- a/cpp/src/arrow/CMakeLists.txt +++ b/cpp/src/arrow/CMakeLists.txt @@ -136,22 +136,21 @@ endif() if(ARROW_ENABLE_THREADING) list(APPEND ARROW_SHARED_PRIVATE_LINK_LIBS Threads::Threads) - list(APPEND ARROW_STATIC_LINK_LIBS Threads::Threads) list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS Threads::Threads) endif() -if(NOT MSVC_TOOLCHAIN) - list(APPEND ARROW_SHARED_INSTALL_INTERFACE_LIBS ${CMAKE_DL_LIBS}) - list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS ${CMAKE_DL_LIBS}) -endif() - set(ARROW_TEST_LINK_TOOLCHAIN ${ARROW_GTEST_GMOCK} ${ARROW_GTEST_GTEST_MAIN}) set(ARROW_TEST_STATIC_LINK_LIBS arrow::flatbuffers arrow_testing_static arrow_static ${ARROW_TEST_LINK_TOOLCHAIN}) set(ARROW_TEST_SHARED_LINK_LIBS arrow::flatbuffers arrow_testing_shared arrow_shared ${ARROW_TEST_LINK_TOOLCHAIN}) -if(NOT MSVC) + +if(CMAKE_DL_LIBS) + list(APPEND ARROW_SHARED_INSTALL_INTERFACE_LIBS ${CMAKE_DL_LIBS}) + list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS ${CMAKE_DL_LIBS}) list(APPEND ARROW_TEST_SHARED_LINK_LIBS ${CMAKE_DL_LIBS}) + list(APPEND ARROW_TEST_STATIC_LINK_LIBS ${CMAKE_DL_LIBS}) + string(APPEND ARROW_PC_LIBS_PRIVATE " -l${CMAKE_DL_LIBS}") endif() # ---------------------------------------------------------------------- @@ -968,8 +967,6 @@ if(NOT ARROW_BUILD_SHARED AND ARROW_BUILD_STATIC) string(APPEND ARROW_TESTING_PC_CFLAGS "${ARROW_TESTING_PC_CFLAGS_PRIVATE}") set(ARROW_TESTING_PC_CFLAGS_PRIVATE "") - - string(APPEND ARROW_PC_LIBS_PRIVATE " -l${CMAKE_DL_LIBS}") else() set(ARROW_PC_LIBS "") set(ARROW_PC_REQUIRES "")