From e0f7349f7bef54b28684578577a179fd39f41e9a Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Fri, 31 Oct 2025 08:43:59 +0000 Subject: [PATCH 1/5] Bump RE2 version --- cpp/thirdparty/versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt index 7ba1f4f876be..d2fc1c9fddef 100644 --- a/cpp/thirdparty/versions.txt +++ b/cpp/thirdparty/versions.txt @@ -99,8 +99,8 @@ ARROW_PROTOBUF_BUILD_SHA256_CHECKSUM=2f723218f6cb709ae4cdc4fb5ed56a5951fc5d466f0 # warnings. ARROW_RAPIDJSON_BUILD_VERSION=232389d4f1012dddec4ef84861face2d2ba85709 ARROW_RAPIDJSON_BUILD_SHA256_CHECKSUM=b9290a9a6d444c8e049bd589ab804e0ccf2b05dc5984a19ed5ae75d090064806 -ARROW_RE2_BUILD_VERSION=2022-06-01 -ARROW_RE2_BUILD_SHA256_CHECKSUM=f89c61410a072e5cbcf8c27e3a778da7d6fd2f2b5b1445cd4f4508bee946ab0f +ARROW_RE2_BUILD_VERSION=2024-07-02 +ARROW_RE2_BUILD_SHA256_CHECKSUM=eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b ARROW_SNAPPY_BUILD_VERSION=1.2.2 ARROW_SNAPPY_BUILD_SHA256_CHECKSUM=90f74bc1fbf78a6c56b3c4a082a05103b3a56bb17bca1a27e052ea11723292dc ARROW_SUBSTRAIT_BUILD_VERSION=v0.44.0 From 7a98f8904b3e1660c5f635bce391517a680c6f72 Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Fri, 31 Oct 2025 09:11:03 +0000 Subject: [PATCH 2/5] Add Abseil dependency for RE2 --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 1724c0d3a3de..c65776629e07 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2807,7 +2807,19 @@ macro(build_re2) set(RE2_STATIC_LIB "${RE2_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}re2${CMAKE_STATIC_LIBRARY_SUFFIX}") + # RE2 (as of 2023-06-01) requires Abseil + set(RE2_CMAKE_PREFIX "") + if(ABSL_VENDORED) + set(RE2_CMAKE_PREFIX "${ABSL_PREFIX}") + endif() + + # Convert list to platform-appropriate format + string(REPLACE ";" ${EP_LIST_SEPARATOR} RE2_PREFIX_PATH_ALT_SEP "${RE2_CMAKE_PREFIX}") + set(RE2_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${RE2_PREFIX}") + if(RE2_CMAKE_PREFIX) + list(APPEND RE2_CMAKE_ARGS "-DCMAKE_PREFIX_PATH=${RE2_PREFIX_PATH_ALT_SEP}") + endif() externalproject_add(re2_ep ${EP_COMMON_OPTIONS} @@ -2823,6 +2835,9 @@ macro(build_re2) target_include_directories(re2::re2 BEFORE INTERFACE "${RE2_PREFIX}/include") add_dependencies(re2::re2 re2_ep) + if(ABSL_VENDORED) + add_dependencies(re2_ep absl_ep) + endif() set(RE2_VENDORED TRUE) # Set values so that FindRE2 finds this too set(RE2_LIB ${RE2_STATIC_LIB}) From 1becf1fbc21b793b3e8e243690a5b106e7c26331 Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Fri, 31 Oct 2025 09:15:43 +0000 Subject: [PATCH 3/5] Use version which doesn't depend on Abseil --- cpp/thirdparty/versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt index d2fc1c9fddef..ab73df222311 100644 --- a/cpp/thirdparty/versions.txt +++ b/cpp/thirdparty/versions.txt @@ -99,8 +99,8 @@ ARROW_PROTOBUF_BUILD_SHA256_CHECKSUM=2f723218f6cb709ae4cdc4fb5ed56a5951fc5d466f0 # warnings. ARROW_RAPIDJSON_BUILD_VERSION=232389d4f1012dddec4ef84861face2d2ba85709 ARROW_RAPIDJSON_BUILD_SHA256_CHECKSUM=b9290a9a6d444c8e049bd589ab804e0ccf2b05dc5984a19ed5ae75d090064806 -ARROW_RE2_BUILD_VERSION=2024-07-02 -ARROW_RE2_BUILD_SHA256_CHECKSUM=eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b +ARROW_RE2_BUILD_VERSION=2023-03-01 +ARROW_RE2_BUILD_SHA256_CHECKSUM=7a9a4824958586980926a300b4717202485c4b4115ac031822e29aa4ef207e48 ARROW_SNAPPY_BUILD_VERSION=1.2.2 ARROW_SNAPPY_BUILD_SHA256_CHECKSUM=90f74bc1fbf78a6c56b3c4a082a05103b3a56bb17bca1a27e052ea11723292dc ARROW_SUBSTRAIT_BUILD_VERSION=v0.44.0 From f83f48f14673763051a9eece5e58b2ca1648a742 Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Fri, 31 Oct 2025 11:11:48 -0400 Subject: [PATCH 4/5] Revert changes to acknowledge Abseil --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index c65776629e07..1724c0d3a3de 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2807,19 +2807,7 @@ macro(build_re2) set(RE2_STATIC_LIB "${RE2_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}re2${CMAKE_STATIC_LIBRARY_SUFFIX}") - # RE2 (as of 2023-06-01) requires Abseil - set(RE2_CMAKE_PREFIX "") - if(ABSL_VENDORED) - set(RE2_CMAKE_PREFIX "${ABSL_PREFIX}") - endif() - - # Convert list to platform-appropriate format - string(REPLACE ";" ${EP_LIST_SEPARATOR} RE2_PREFIX_PATH_ALT_SEP "${RE2_CMAKE_PREFIX}") - set(RE2_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${RE2_PREFIX}") - if(RE2_CMAKE_PREFIX) - list(APPEND RE2_CMAKE_ARGS "-DCMAKE_PREFIX_PATH=${RE2_PREFIX_PATH_ALT_SEP}") - endif() externalproject_add(re2_ep ${EP_COMMON_OPTIONS} @@ -2835,9 +2823,6 @@ macro(build_re2) target_include_directories(re2::re2 BEFORE INTERFACE "${RE2_PREFIX}/include") add_dependencies(re2::re2 re2_ep) - if(ABSL_VENDORED) - add_dependencies(re2_ep absl_ep) - endif() set(RE2_VENDORED TRUE) # Set values so that FindRE2 finds this too set(RE2_LIB ${RE2_STATIC_LIB}) From 4cad79f43c3aa2d90d4c35bd128e25fcd9e4e3da Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Fri, 31 Oct 2025 18:13:21 -0400 Subject: [PATCH 5/5] Add comment regarding reasoning for RE2 version --- cpp/thirdparty/versions.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt index ab73df222311..fd596f9a24db 100644 --- a/cpp/thirdparty/versions.txt +++ b/cpp/thirdparty/versions.txt @@ -99,6 +99,9 @@ ARROW_PROTOBUF_BUILD_SHA256_CHECKSUM=2f723218f6cb709ae4cdc4fb5ed56a5951fc5d466f0 # warnings. ARROW_RAPIDJSON_BUILD_VERSION=232389d4f1012dddec4ef84861face2d2ba85709 ARROW_RAPIDJSON_BUILD_SHA256_CHECKSUM=b9290a9a6d444c8e049bd589ab804e0ccf2b05dc5984a19ed5ae75d090064806 +# RE2 2023-03-01 is pinned to avoid Abseil dependency. Versions after 2023-06-01 +# require Abseil, which would add significant build time and complexity, particularly +# for CRAN builds. This version includes musl libc support (GH-48010). ARROW_RE2_BUILD_VERSION=2023-03-01 ARROW_RE2_BUILD_SHA256_CHECKSUM=7a9a4824958586980926a300b4717202485c4b4115ac031822e29aa4ef207e48 ARROW_SNAPPY_BUILD_VERSION=1.2.2