Skip to content

GH-46745: [C++] Update bundled Boost to 1.88.0 and Apache Thrift to 0.22.0 - #46912

Merged
raulcd merged 3 commits into
apache:mainfrom
kou:cpp-boost
Jul 8, 2025
Merged

GH-46745: [C++] Update bundled Boost to 1.88.0 and Apache Thrift to 0.22.0#46912
raulcd merged 3 commits into
apache:mainfrom
kou:cpp-boost

Conversation

@kou

@koukou commented Jun 26, 2025

Copy link
Copy Markdown
Member

Rationale for this change

Bundled Boost 1.81.0 and Apache Thrift 0.22.0 are old.

It's difficult to upgrade only Boost because Apache Thrift depends on Boost. So this PR updates bundled Boost and Apache Thrift.

What changes are included in this PR?

  • Update bundled Boost:
    • Use CMake based build instead of b2
    • Use FetchContent not ExternalProject
    • Stop using our trimmed Boost source archive
  • Update bundled Apache Thrift:
    • Use FetchContent not ExternalProject

Are these changes tested?

Yes.

Are there any user-facing changes?

Yes.

@github-actions

Copy link
Copy Markdown

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

@kou

kou commented Jun 26, 2025

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g cpp -g r -g python -g linux

@koukou added the CI: Extra Run extra CI label Jun 26, 2025
@github-actionsgithub-actionsBot added the awaiting committer review Awaiting committer review label Jun 26, 2025
@github-actions

This comment was marked as outdated.

@kou
kouforce-pushed the cpp-boost branch 15 times, most recently from 7cc8462 to 87feab0CompareJune 26, 2025 08:36
@kou
kouforce-pushed the cpp-boost branch 8 times, most recently from 7544ecb to e26a807CompareJune 27, 2025 01:02
@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jul 7, 2025
@kou
kou marked this pull request as ready for review July 7, 2025 04:53
Comment threadcpp/cmake_modules/ThirdpartyToolchain.cmake
Comment threadcpp/cmake_modules/ThirdpartyToolchain.cmake
@kou

kou commented Jul 7, 2025

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g cpp -g r -g python -g linux

@github-actionsgithub-actionsBot added awaiting change review Awaiting change review awaiting changes Awaiting changes and removed awaiting changes Awaiting changes awaiting change review Awaiting change review labels Jul 7, 2025
@github-actions

Copy link
Copy Markdown

Revision: 3e7126e

Submitted crossbow builds: ursacomputing/crossbow @ actions-73cd498af8

TaskStatus
almalinux-10-amd64GitHub Actions
almalinux-10-arm64GitHub Actions
almalinux-8-amd64GitHub Actions
almalinux-8-arm64GitHub Actions
almalinux-9-amd64GitHub Actions
almalinux-9-arm64GitHub Actions
amazon-linux-2023-amd64GitHub Actions
amazon-linux-2023-arm64GitHub Actions
centos-7-amd64GitHub Actions
centos-9-stream-amd64GitHub Actions
centos-9-stream-arm64GitHub Actions
debian-bookworm-amd64GitHub Actions
debian-bookworm-arm64GitHub Actions
debian-trixie-amd64GitHub Actions
debian-trixie-arm64GitHub Actions
example-cpp-minimal-build-staticGitHub Actions
example-cpp-minimal-build-static-system-dependencyGitHub Actions
example-cpp-tutorialGitHub Actions
example-python-minimal-build-fedora-condaGitHub Actions
example-python-minimal-build-ubuntu-venvGitHub Actions
r-binary-packagesGitHub Actions
r-recheck-mostGitHub Actions
test-build-cpp-fuzzGitHub Actions
test-conda-cppGitHub Actions
test-conda-cpp-valgrindGitHub Actions
test-conda-python-3.10GitHub Actions
test-conda-python-3.10-hdfs-2.9.2GitHub Actions
test-conda-python-3.10-hdfs-3.2.1GitHub Actions
test-conda-python-3.10-pandas-latest-numpy-latestGitHub Actions
test-conda-python-3.11GitHub Actions
test-conda-python-3.11-dask-latestGitHub Actions
test-conda-python-3.11-dask-upstream_develGitHub Actions
test-conda-python-3.11-hypothesisGitHub Actions
test-conda-python-3.11-pandas-latest-numpy-1.26GitHub Actions
test-conda-python-3.11-pandas-latest-numpy-latestGitHub Actions
test-conda-python-3.11-pandas-nightly-numpy-nightlyGitHub Actions
test-conda-python-3.11-pandas-upstream_devel-numpy-nightlyGitHub Actions
test-conda-python-3.11-spark-masterGitHub Actions
test-conda-python-3.12GitHub Actions
test-conda-python-3.12-cpython-debugGitHub Actions
test-conda-python-3.13GitHub Actions
test-conda-python-3.9GitHub Actions
test-conda-python-3.9-pandas-1.1.3-numpy-1.19.5GitHub Actions
test-conda-python-emscriptenGitHub Actions
test-cuda-cpp-ubuntu-22.04-cuda-11.7.1GitHub Actions
test-cuda-python-ubuntu-22.04-cuda-11.7.1GitHub Actions
test-debian-12-cpp-amd64GitHub Actions
test-debian-12-cpp-i386GitHub Actions
test-debian-12-python-3-amd64GitHub Actions
test-debian-12-python-3-i386GitHub Actions
test-fedora-39-cppGitHub Actions
test-fedora-39-python-3GitHub Actions
test-r-arrow-backwards-compatibilityGitHub Actions
test-r-depsource-bundledAzure
test-r-depsource-systemGitHub Actions
test-r-dev-duckdbGitHub Actions
test-r-devdocsGitHub Actions
test-r-extra-packagesGitHub Actions
test-r-gcc-11GitHub Actions
test-r-gcc-12GitHub Actions
test-r-install-localGitHub Actions
test-r-install-local-minsizerelGitHub Actions
test-r-linux-as-cranGitHub Actions
test-r-linux-rchkGitHub Actions
test-r-linux-sanitizersGitHub Actions
test-r-linux-valgrindGitHub Actions
test-r-m1-sanGitHub Actions
test-r-macos-as-cranGitHub Actions
test-r-minimal-buildAzure
test-r-offline-maximalGitHub Actions
test-r-offline-minimalAzure
test-r-rhub-debian-gcc-devel-lto-latestAzure
test-r-rhub-debian-gcc-release-custom-ccacheAzure
test-r-rhub-ubuntu-release-latestAzure
test-r-rocker-r-ver-latestAzure
test-r-rstudio-r-base-4.1-opensuse155Azure
test-r-rstudio-r-base-4.2-focalAzure
test-r-ubuntu-22.04GitHub Actions
test-r-versionsGitHub Actions
test-ubuntu-22.04-cppGitHub Actions
test-ubuntu-22.04-cpp-20GitHub Actions
test-ubuntu-22.04-cpp-bundledGitHub Actions
test-ubuntu-22.04-cpp-emscriptenGitHub Actions
test-ubuntu-22.04-cpp-no-threadingGitHub Actions
test-ubuntu-22.04-python-3GitHub Actions
test-ubuntu-22.04-python-313-freethreadingGitHub Actions
test-ubuntu-24.04-cppGitHub Actions
test-ubuntu-24.04-cpp-bundled-offlineGitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundledGitHub Actions
test-ubuntu-24.04-cpp-gcc-14GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formatsGitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizerGitHub Actions
test-ubuntu-24.04-python-3GitHub Actions
ubuntu-jammy-amd64GitHub Actions
ubuntu-jammy-arm64GitHub Actions
ubuntu-noble-amd64GitHub Actions
ubuntu-noble-arm64GitHub Actions

@kou

kou commented Jul 8, 2025

Copy link
Copy Markdown
MemberAuthor

FYI: This will reduce Apache Thrift download related CI failures because this uses the latest Apache Thrift.

@zhjwpku

Copy link
Copy Markdown
Contributor

FYI: This will reduce Apache Thrift download related CI failures because this uses the latest Apache Thrift.

The iceberg-cpp project is seeing frequent CI failures due to issues downloading Apache Thrift as part of Arrow's setup. So +1.

@raulcdraulcd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks @kou for working on this!

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting changes Awaiting changes labels Jul 8, 2025
@raulcd
raulcd merged commit f12356a into apache:mainJul 8, 2025
This was referenced Jul 8, 2025
@raulcd

Copy link
Copy Markdown
Member

This just missed the 21.0.0 release, @kou do you think that's ok or should we cherry-pick? Thinking about the thrift download related failures.
cc @amoeba

@kou

kou commented Jul 8, 2025

Copy link
Copy Markdown
MemberAuthor

Let's add this to 21.0.0 to reduce CI failures. It'll reduce 21.0.0 release costs. (We don't need to re-run jobs several times...)

@conbench-apache-arrow

Copy link
Copy Markdown

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

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 14 possible false positives for unstable benchmarks that are known to sometimes produce them.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@kou@zhjwpku@raulcd