From 3e28812b99aab7843c89db96ad2a48088de7891c Mon Sep 17 00:00:00 2001 From: "Alina (Xi) Li" <96995091+alinaliBQ@users.noreply.github.com> Date: Tue, 7 Apr 2026 13:41:50 -0700 Subject: [PATCH] Fix ODBC Linux test segmentation fault * Resolve segfault issue on Linux and pass `ARROW_TEST_LINKAGE=static` Pass `ARROW_TEST_LINKAGE=static` * Clean up --- compose.yaml | 2 ++ cpp/src/arrow/flight/sql/odbc/tests/CMakeLists.txt | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/compose.yaml b/compose.yaml index 17e08ad1173e..e0a4ecc41a2e 100644 --- a/compose.yaml +++ b/compose.yaml @@ -516,6 +516,8 @@ services: ARROW_PARQUET: "OFF" ARROW_S3: "OFF" ARROW_SUBSTRAIT: "OFF" + # GH-49651 Link ODBC tests statically on Linux to fix segfault + ARROW_TEST_LINKAGE: "static" # Register ODBC before running tests command: > /bin/bash -c " diff --git a/cpp/src/arrow/flight/sql/odbc/tests/CMakeLists.txt b/cpp/src/arrow/flight/sql/odbc/tests/CMakeLists.txt index e0e562f2d255..a0e8685b63fc 100644 --- a/cpp/src/arrow/flight/sql/odbc/tests/CMakeLists.txt +++ b/cpp/src/arrow/flight/sql/odbc/tests/CMakeLists.txt @@ -42,6 +42,7 @@ set(ARROW_FLIGHT_SQL_ODBC_TEST_SRCS # GH-46889: move protobuf_test_util to a more common location ../../../../engine/substrait/protobuf_test_util.cc) +# GH-49652: TODO support static test linkage on macOS if(ARROW_TEST_LINKAGE STREQUAL "static") set(ARROW_FLIGHT_SQL_ODBC_TEST_LINK_LIBS arrow_flight_sql_odbc_static ${ARROW_TEST_STATIC_LINK_LIBS}) @@ -65,6 +66,13 @@ else() # Unix list(APPEND ARROW_FLIGHT_SQL_ODBC_TEST_STATIC_LINK_LIBS ${ARROW_FLIGHT_SQL_ODBC_TEST_LIBS} ${ARROW_FLIGHT_SQL_ODBC_TEST_LINK_LIBS}) + + if(NOT APPLE) + # Links static dependencies on Linux to support ARROW_TEST_LINKAGE=static + list(APPEND ARROW_FLIGHT_SQL_ODBC_TEST_STATIC_LINK_LIBS arrow_odbc_spi_impl + ${ARROW_PROTOBUF_LIBPROTOBUF}) + endif() + endif() add_arrow_test(flight_sql_odbc_test