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 <[email protected]>
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 <[email protected]>
Reviewed-by: Abhishek Chennaka <[email protected]>
---
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