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
commit 30506e572d4b1e28cf302db475fae0a74b3dbcbc 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]> --- 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 fe2368fca..539c1806f 100755 --- a/thirdparty/download-thirdparty.sh +++ b/thirdparty/download-thirdparty.sh @@ -266,14 +266,16 @@ fetch_and_patch \ $LIBEV_SOURCE \ $LIBEV_PATCHLEVEL -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
