This is an automated email from the ASF dual-hosted git repository.

alexey pushed a commit to branch branch-1.18.x
in repository https://gitbox.apache.org/repos/asf/kudu.git


The following commit(s) were added to refs/heads/branch-1.18.x by this push:
     new 7a12ce686 [thirdparty] fix building rapidjson with GCC13
7a12ce686 is described below

commit 7a12ce68681ef3f0393157c5b1b048e0b8500b97
Author: Alexey Serbin <[email protected]>
AuthorDate: Sun Dec 29 11:01:22 2024 -0800

    [thirdparty] fix building rapidjson with GCC13
    
    GCC13 (G++13) is the default system compiler on contemporary Linux OS
    flavors such as Ubuntu 24.04 LTS.  With this patch it's now possible
    to compile rapidjson on Ubuntu 24.04 LTS.
    
    This patch picks up a couple of relevant patches from the rapidjson's
    git repository.  Probably, it's time to refresh rapidjson with very
    recent updates overall, but it would require extra testing to rule out
    possible regressions.
    
    Change-Id: I68008baf7abe6de1f1250a29a268fc732bbe2885
    Reviewed-on: http://gerrit.cloudera.org:8080/22277
    Reviewed-by: Yingchun Lai <[email protected]>
    Tested-by: Marton Greber <[email protected]>
    (cherry picked from commit 30506e572d4b1e28cf302db475fae0a74b3dbcbc)
    Reviewed-on: http://gerrit.cloudera.org:8080/22281
    Tested-by: Kudu Jenkins
---
 thirdparty/download-thirdparty.sh                     |  6 ++++--
 .../rapidjson-document-assignment-operator-00.patch   | 19 +++++++++++++++++++
 .../rapidjson-document-assignment-operator-01.patch   | 19 +++++++++++++++++++
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/thirdparty/download-thirdparty.sh 
b/thirdparty/download-thirdparty.sh
index 74d356d88..93e4de518 100755
--- a/thirdparty/download-thirdparty.sh
+++ b/thirdparty/download-thirdparty.sh
@@ -267,14 +267,16 @@ fetch_and_patch \
  $LIBEV_PATCHLEVEL \
  "patch -p1 < $TP_DIR/patches/libev-c17.patch"
 
-RAPIDJSON_PATCHLEVEL=3
+RAPIDJSON_PATCHLEVEL=5
 fetch_and_patch \
  rapidjson-${RAPIDJSON_VERSION}.zip \
  $RAPIDJSON_SOURCE \
  $RAPIDJSON_PATCHLEVEL \
  "patch -p1 < 
$TP_DIR/patches/rapidjson-fix-signed-unsigned-conversion-error.patch" \
  "patch -p1 < $TP_DIR/patches/rapidjson-assertions-for-clang-warnings.patch" \
- "patch -p1 < 
$TP_DIR/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch"
+ "patch -p1 < 
$TP_DIR/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch" \
+ "patch -p1 < $TP_DIR/patches/rapidjson-document-assignment-operator-00.patch" 
\
+ "patch -p1 < $TP_DIR/patches/rapidjson-document-assignment-operator-01.patch"
 
 SQUEASEL_PATCHLEVEL=1
 fetch_and_patch \
diff --git a/thirdparty/patches/rapidjson-document-assignment-operator-00.patch 
b/thirdparty/patches/rapidjson-document-assignment-operator-00.patch
new file mode 100644
index 000000000..af4f21f8d
--- /dev/null
+++ b/thirdparty/patches/rapidjson-document-assignment-operator-00.patch
@@ -0,0 +1,19 @@
+commit 3b2441b87f99ab65f37b141a7b548ebadb607b96
+Author: Janusz Chorko <[email protected]>
+Date:   Fri Aug 26 21:17:38 2016 +0200
+
+    Removed non-compiling assignment operator. Fixed #718
+
+diff --git a/include/rapidjson/document.h b/include/rapidjson/document.h
+index e3e20dfb..b0f1f70b 100644
+--- a/include/rapidjson/document.h
++++ b/include/rapidjson/document.h
+@@ -316,8 +316,6 @@ struct GenericStringRef {
+ 
+     GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), 
length(rhs.length) {}
+ 
+-    GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; 
length = rhs.length; }
+-
+     //! implicit conversion to plain CharType pointer
+     operator const Ch *() const { return s; }
+ 
diff --git a/thirdparty/patches/rapidjson-document-assignment-operator-01.patch 
b/thirdparty/patches/rapidjson-document-assignment-operator-01.patch
new file mode 100644
index 000000000..8c31926c6
--- /dev/null
+++ b/thirdparty/patches/rapidjson-document-assignment-operator-01.patch
@@ -0,0 +1,19 @@
+commit 862c39be371278a45a88d4d1d75164be57bb7e2d
+Author: Janusz Chorko <[email protected]>
+Date:   Fri Aug 26 21:26:50 2016 +0200
+
+    Explicitly disable copy assignment operator
+
+diff --git a/include/rapidjson/document.h b/include/rapidjson/document.h
+index b0f1f70b..19f5a6a5 100644
+--- a/include/rapidjson/document.h
++++ b/include/rapidjson/document.h
+@@ -326,6 +326,8 @@ private:
+     //! Disallow construction from non-const array
+     template<SizeType N>
+     GenericStringRef(CharType (&str)[N]) /* = delete */;
++    //! Copy assignment operator not permitted - immutable type
++    GenericStringRef& operator=(const GenericStringRef& rhs) /* = delete */;
+ };
+ 
+ //! Mark a character pointer as constant string

Reply via email to