Skip to content

Conversation

@thisisnic
Copy link
Member

@thisisnic thisisnic commented Oct 31, 2025

Rationale for this change

Arrow currently bundles RE2 version 2022-06-01, which fails to build on musl libc systems (Alpine Linux) due to missing #include <cstdint> in RE2's util/pcre.h. This affects R package installations from source on Alpine (#46769), C++ builds on Alpine (#43350, #41619), and causes CRAN extended musl checks to fail.

What changes are included in this PR?

Updated cpp/thirdparty/versions.txt

Are these changes tested?

Yep - CI checks

Are there any user-facing changes?

No.

@github-actions
Copy link

⚠️ GitHub issue #48010 has been automatically assigned in GitHub to PR creator.

@thisisnic
Copy link
Member Author

Ah wait, nope, RE2 needed to be able to find Abseil.

@thisisnic thisisnic changed the title GH-48010: [C++] Update bundled RE2 from 2022-06-01 to 2024-07-02 GH-48010: [C++] Update bundled RE2 from 2022-06-01 to 2023-03-01 Oct 31, 2025
@thisisnic
Copy link
Member Author

OK, this might not be the correct solution, we get (presumably) a ton of ABI-compatibility issues here :(

@thisisnic thisisnic closed this Oct 31, 2025
@jonkeane
Copy link
Member

What errors were you seeing with the version bumps? The ones I see in CI are strange, something is wrong, but it did look like things built successfully, which is a good sign. But maybe you were running things locally that showed this isn't a path we could pursue?

@jonkeane
Copy link
Member

FWIW: the CI errors you got up there are both on main, I believe

@thisisnic thisisnic reopened this Oct 31, 2025
@thisisnic
Copy link
Member Author

@github-actions crossbow submit -g cpp

@thisisnic
Copy link
Member Author

Thanks for pointing that out @jonkeane!

@github-actions
Copy link

Revision: 1becf1f

Submitted crossbow builds: ursacomputing/crossbow @ actions-07dc423666

Task Status
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions
example-cpp-tutorial GitHub Actions
test-build-cpp-fuzz GitHub Actions
test-conda-cpp GitHub Actions
test-conda-cpp-valgrind GitHub Actions
test-cuda-cpp-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-debian-12-cpp-amd64 GitHub Actions
test-debian-12-cpp-i386 GitHub Actions
test-fedora-42-cpp GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-bundled-offline GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions

@thisisnic
Copy link
Member Author

The failing tests (ARM64 macOS 14 C++ and GLib & Ruby) are also failing on main - not related to this RE2 update. See run on main with identical substrait test failures.

@thisisnic thisisnic requested review from kou and pitrou October 31, 2025 14:51
@pitrou
Copy link
Member

pitrou commented Oct 31, 2025

They haven't released since 2023?

@thisisnic
Copy link
Member Author

They haven't released since 2023?

They have, but they take on Abseil as a dependency later, and my understanding is that it's a pretty big component to build just to get the RE2 library, and would slow things down for folks who don't need Abseil, and be a pain for our CRAN builds. That might be not be a reason to not bump it further though; it was just my focus at the time.

@pitrou
Copy link
Member

pitrou commented Oct 31, 2025

They have, but they take on Abseil as a dependency later, and my understanding is that it's a pretty big component to build just to get the RE2 library, and would slow things down for folks who don't need Abseil, and be a pain for our CRAN builds.

Thanks for the explanation, I agree very much with it.

@thisisnic
Copy link
Member Author

thisisnic commented Oct 31, 2025

I just realised that an earlier version of this PR did bump to a version that requires Abseil which is why I have some extra changes in there to cpp/cmake_modules/ThirdpartyToolchain.cmake. I'll get rid of that.

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Could you add a note why we don't use more recent RE2 (no Abseil) to cpp/thirdparty/versions.txt (as a comment) and the PR description before we merge this PR? We'll revisit it later.

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Oct 31, 2025
@thisisnic
Copy link
Member Author

+1

Could you add a note why we don't use more recent RE2 (no Abseil) to cpp/thirdparty/versions.txt (as a comment) and the PR description before we merge this PR? We'll revisit it later.

Absolutely!

@thisisnic thisisnic merged commit d165954 into apache:main Oct 31, 2025
30 of 32 checks passed
@jonkeane
Copy link
Member

Thanks for this ❤️

@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 0 benchmarking runs that have been run so far on merge-commit d165954.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants