From b3bbc6707a84aae03361549416e3bd6a3eb39750 Mon Sep 17 00:00:00 2001 From: Dewey Dunnington Date: Tue, 7 Feb 2023 04:22:24 -0400 Subject: [PATCH] GH-33851: [C++] Update bundled boost version (#33890) This PR updates the bundled version of Boost, as it was suggested by a maintainer of CRAN (R packaging) that the older version of boost might be responsible for an Arrow build failure on Fedora/clang (#33819). Closes #33851. The resulting tarball also has to be uploaded to https://apache.jfrog.io/ui/native/arrow/thirdparty/7.0.0/ (right?) to kick in and almost certainly needs to be tested through a round of CI. I'm not sure how to do either of those things but perhaps @ assignUser does? * Closes: #33851 Authored-by: Dewey Dunnington Signed-off-by: Sutou Kouhei --- cpp/build-support/trim-boost.sh | 11 +++++++---- cpp/cmake_modules/ThirdpartyToolchain.cmake | 12 ++++++++++++ cpp/thirdparty/versions.txt | 6 +++--- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/cpp/build-support/trim-boost.sh b/cpp/build-support/trim-boost.sh index 5618c66f28c80..535283ebe16e1 100755 --- a/cpp/build-support/trim-boost.sh +++ b/cpp/build-support/trim-boost.sh @@ -24,22 +24,22 @@ # # To test building Arrow locally with the boost bundle this creates, add: # -# set(BOOST_SOURCE_URL /path/to/arrow/cpp/build-support/boost_1_75_0/boost_1_75_0.tar.gz) +# set(BOOST_SOURCE_URL /path/to/arrow/cpp/build-support/boost_1_81_0/boost_1_81_0.tar.gz) # # to the beginning of the build_boost() macro in ThirdpartyToolchain.cmake, # # or set the env var ARROW_BOOST_URL before calling cmake, like: # -# ARROW_BOOST_URL=/path/to/arrow/cpp/build-support/boost_1_75_0/boost_1_75_0.tar.gz cmake ... +# ARROW_BOOST_URL=/path/to/arrow/cpp/build-support/boost_1_81_0/boost_1_81_0.tar.gz cmake ... # # After running this script, upload the bundle to -# https://github.com/ursa-labs/thirdparty/releases/edit/latest +# https://apache.jfrog.io/artifactory/arrow/thirdparty/ # TODO(ARROW-6407) automate uploading to github set -eu # if version is not defined by the caller, set a default. -: ${BOOST_VERSION:=1.75.0} +: ${BOOST_VERSION:=1.81.0} : ${BOOST_FILE:=boost_${BOOST_VERSION//./_}} : ${BOOST_URL:=https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/${BOOST_FILE}.tar.gz} @@ -66,6 +66,9 @@ fi mkdir -p ${BOOST_FILE} ./dist/bin/bcp ${BOOST_LIBS} ${BOOST_FILE} +# These files are assumed by the thirdparty toolchain but are not copied by bcp +cp bootstrap.sh bootstrap.bat boostcpp.jam boost-build.jam Jamroot LICENSE_1_0.txt INSTALL ${BOOST_FILE}/ + tar -czf ${BOOST_FILE}.tar.gz ${BOOST_FILE}/ # Resulting tarball is in ${BOOST_FILE}/${BOOST_FILE}.tar.gz diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index b0b8ef665a494..dd1cf41346e9f 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -989,6 +989,18 @@ if(MSVC AND ARROW_USE_STATIC_CRT) set(Boost_USE_STATIC_RUNTIME ON) endif() set(Boost_ADDITIONAL_VERSIONS + "1.81.0" + "1.81" + "1.80.0" + "1.80" + "1.79.0" + "1.79" + "1.78.0" + "1.78" + "1.77.0" + "1.77" + "1.76.0" + "1.76" "1.75.0" "1.75" "1.74.0" diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt index ac41fbcff9626..69073f3a47581 100644 --- a/cpp/thirdparty/versions.txt +++ b/cpp/thirdparty/versions.txt @@ -33,8 +33,8 @@ ARROW_AWS_C_COMMON_BUILD_VERSION=v0.6.9 ARROW_AWS_C_COMMON_BUILD_SHA256_CHECKSUM=928a3e36f24d1ee46f9eec360ec5cebfe8b9b8994fe39d4fa74ff51aebb12717 ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION=v0.1.5 ARROW_AWS_C_EVENT_STREAM_BUILD_SHA256_CHECKSUM=f1b423a487b5d6dca118bfc0d0c6cc596dc476b282258a3228e73a8f730422d4 -ARROW_BOOST_BUILD_VERSION=1.75.0 -ARROW_BOOST_BUILD_SHA256_CHECKSUM=267e04a7c0bfe85daf796dedc789c3a27a76707e1c968f0a2a87bb96331e2b61 +ARROW_BOOST_BUILD_VERSION=1.81.0 +ARROW_BOOST_BUILD_SHA256_CHECKSUM=9e0ffae35528c35f90468997bc8d99500bf179cbae355415a89a600c38e13574 ARROW_BROTLI_BUILD_VERSION=v1.0.9 ARROW_BROTLI_BUILD_SHA256_CHECKSUM=f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46 ARROW_BZIP2_BUILD_VERSION=1.0.8 @@ -107,7 +107,7 @@ DEPENDENCIES=( "ARROW_AWS_CHECKSUMS_URL aws-checksums-${ARROW_AWS_CHECKSUMS_BUILD_VERSION}.tar.gz https://github.com/awslabs/aws-checksums/archive/${ARROW_AWS_CHECKSUMS_BUILD_VERSION}.tar.gz" "ARROW_AWS_C_COMMON_URL aws-c-common-${ARROW_AWS_C_COMMON_BUILD_VERSION}.tar.gz https://github.com/awslabs/aws-c-common/archive/${ARROW_AWS_C_COMMON_BUILD_VERSION}.tar.gz" "ARROW_AWS_C_EVENT_STREAM_URL aws-c-event-stream-${ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION}.tar.gz https://github.com/awslabs/aws-c-event-stream/archive/${ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION}.tar.gz" - "ARROW_BOOST_URL boost-${ARROW_BOOST_BUILD_VERSION}.tar.gz https://github.com/ursa-labs/thirdparty/releases/download/apache-arrow-7.0.0/boost_${ARROW_BOOST_BUILD_VERSION//./_}.tar.gz" + "ARROW_BOOST_URL boost-${ARROW_BOOST_BUILD_VERSION}.tar.gz https://apache.jfrog.io/artifactory/arrow/thirdparty/7.0.0/boost_${ARROW_BOOST_BUILD_VERSION//./_}.tar.gz" "ARROW_BROTLI_URL brotli-${ARROW_BROTLI_BUILD_VERSION}.tar.gz https://github.com/google/brotli/archive/${ARROW_BROTLI_BUILD_VERSION}.tar.gz" "ARROW_BZIP2_URL bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz https://sourceware.org/pub/bzip2/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" "ARROW_CARES_URL cares-${ARROW_CARES_BUILD_VERSION}.tar.gz https://c-ares.haxx.se/download/c-ares-${ARROW_CARES_BUILD_VERSION}.tar.gz"