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
 

Reply via email to