This is an automated email from the ASF dual-hosted git repository. alexey pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push: new 56371ef8e [thirdparty] upgrade boost up to 1.84.0 56371ef8e is described below commit 56371ef8e4d8e3d7bfa485ab9bec3b222eac285b Author: Alexey Serbin <ale...@apache.org> AuthorDate: Mon Mar 25 17:19:54 2024 -0700 [thirdparty] upgrade boost up to 1.84.0 Upgrade Boost library up to 1.84.0 version. At least, this version properly handles BOOST_NO_CXX98_FUNCTION_BASE macro in boost/config/stdlib/libcpp.hpp, defining it with CLANG 15. Otherwise, it would be necessary to add BOOST_NO_CXX98_FUNCTION_BASE into CFLAGS and CXXFLAGS to avoid compilation errors like the below at least when compiling with CLANG 15: In file included from thirdparty/installed/uninstrumented/include/boost/type_index/stl_type_index.hpp:47: thirdparty/installed/uninstrumented/include/boost/container_hash/hash.hpp:131:33: error: no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'? struct hash_base : std::unary_function<T, std::size_t> {}; ~~~~~^~~~~~~~~~~~~~ __unary_function This patch fixes compilation of the mustache library in the 3rd-party with CLANG 15 which comes with Xcode 15.3 on macOS: std::unary_function has been deprecated since C++11 and removed in C++17 [1], so it was just a matter of time when C++ compilers started to strictly enforce the C++17 standard. [1] https://en.cppreference.com/w/cpp/utility/functional/unary_function Change-Id: Id97af5f7300b2ca2eef4edf33712fa6ec93daa96 Reviewed-on: http://gerrit.cloudera.org:8080/21196 Tested-by: Alexey Serbin <ale...@apache.org> Reviewed-by: Abhishek Chennaka <achenn...@cloudera.com> --- build-support/ubsan-blacklist.txt | 4 ++++ thirdparty/download-thirdparty.sh | 5 +++-- thirdparty/patches/boost-bootstrap.patch | 14 ++++++++++++++ thirdparty/vars.sh | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/build-support/ubsan-blacklist.txt b/build-support/ubsan-blacklist.txt index 6e4697ccc..15b7ed210 100644 --- a/build-support/ubsan-blacklist.txt +++ b/build-support/ubsan-blacklist.txt @@ -38,6 +38,10 @@ src:*/boost/uuid/sha1.hpp src:*/boost/container/detail/copy_move_algo.hpp # include/boost/container_hash/hash.hpp:343:15: runtime error: unsigned integer overflow: 2700868258 * 14313749767032793493 cannot be represented in type 'unsigned long' src:*/boost/container_hash/hash.hpp +# boost/container_hash/detail/hash_range.hpp:267:11: runtime error: unsigned integer overflow: 16840693252317653710 + 11400714819323198485 cannot be represented in type 'unsigned long' +src:*/boost/container_hash/detail/hash_range.hpp +# boost/container_hash/detail/hash_mix.hpp:74:11: runtime error: unsigned integer overflow: 5632919982981563844 * 1051668233026429277 cannot be represented in type 'unsigned long' +src:*/boost/container_hash/detail/hash_mix.hpp # include/boost/functional/hash/hash.hpp:212:52: runtime error: unsigned integer overflow: 18389307270159922987 + 1512985112272252029 cannot be represented in type 'unsigned long' src:*/boost/functional/hash/hash.hpp diff --git a/thirdparty/download-thirdparty.sh b/thirdparty/download-thirdparty.sh index bf64f29b4..7ce511078 100755 --- a/thirdparty/download-thirdparty.sh +++ b/thirdparty/download-thirdparty.sh @@ -359,11 +359,12 @@ fetch_and_patch \ $TRACE_VIEWER_SOURCE \ $TRACE_VIEWER_PATCHLEVEL -BOOST_PATCHLEVEL=0 +BOOST_PATCHLEVEL=1 fetch_and_patch \ boost_${BOOST_VERSION}.tar.gz \ $BOOST_SOURCE \ - $BOOST_PATCHLEVEL + $BOOST_PATCHLEVEL \ + "patch -p0 < $TP_DIR/patches/boost-bootstrap.patch" BREAKPAD_PATCHLEVEL=3 fetch_and_patch \ diff --git a/thirdparty/patches/boost-bootstrap.patch b/thirdparty/patches/boost-bootstrap.patch new file mode 100644 index 000000000..9f7ac383e --- /dev/null +++ b/thirdparty/patches/boost-bootstrap.patch @@ -0,0 +1,14 @@ +--- bootstrap.sh.orig 2024-03-28 10:43:30.211479344 -0700 ++++ bootstrap.sh 2024-03-28 10:45:08.738096743 -0700 +@@ -226,7 +226,10 @@ + if test "x$BJAM" = x; then + $ECHO "Building B2 engine.." + pwd=`pwd` +- CXX= CXXFLAGS= "$my_dir/tools/build/src/engine/build.sh" ${TOOLSET} ++ CXX= CXXFLAGS= "$my_dir/tools/build/src/engine/build.sh"\ ++ --cxx=${CXX}\ ++ --cxxflags=${CXXFLAGS}\ ++ ${TOOLSET} + if [ $? -ne 0 ]; then + echo + echo "Failed to build B2 build engine" diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh index 82a553ae4..0218d141c 100644 --- a/thirdparty/vars.sh +++ b/thirdparty/vars.sh @@ -166,7 +166,7 @@ TRACE_VIEWER_VERSION=99efe2f56191867ba7bb602c7c227dea6d576d2f TRACE_VIEWER_NAME=kudu-trace-viewer-$TRACE_VIEWER_VERSION TRACE_VIEWER_SOURCE=$TP_SOURCE_DIR/$TRACE_VIEWER_NAME -BOOST_VERSION=1_74_0 +BOOST_VERSION=1_84_0 BOOST_NAME=boost_$BOOST_VERSION BOOST_SOURCE=$TP_SOURCE_DIR/$BOOST_NAME