rocksdb: fix build with gcc-13

* From gcc 13, cstdint header must be explicitly included for uint_X data types.
* See also: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes

Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
mark.yang 2025-04-07 16:28:33 +09:00 committed by Khem Raj
parent 1c848d99c9
commit 5cf1a10405
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 108 additions and 0 deletions

View File

@ -0,0 +1,65 @@
From 90eba5458cb4ac2f83cac8aa550927876e6a9a09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lauren=C8=9Biu=20Nicola?= <lnicola@dend.ro>
Date: Wed, 5 Mar 2025 15:42:46 +0200
Subject: [PATCH] Add missing include (#13365)
* see more details: http://errors.yoctoproject.org/Errors/Details/851177/
In file included from TOPDIR/tmp/work/core2-64-oe-linux/rocksdb/9.10.0/git/db/blob/blob_file_meta.cc:6:
TOPDIR/tmp/work/core2-64-oe-linux/rocksdb/9.10.0/git/db/blob/blob_file_meta.h:28:7: error: 'uint64_t' has not been declared
28 | uint64_t blob_file_number, uint64_t total_blob_count,
| ^~~~~~~~
TOPDIR/tmp/work/core2-64-oe-linux/rocksdb/9.10.0/git/db/blob/blob_file_meta.h:15:1: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
14 | #include "rocksdb/rocksdb_namespace.h"
+++ |+#include <cstdint>
15 |
TOPDIR/tmp/work/core2-64-oe-linux/rocksdb/9.10.0/git/db/blob/blob_file_meta.h:28:34: error: 'uint64_t' has not been declared
28 | uint64_t blob_file_number, uint64_t total_blob_count,
| ^~~~~~~~
...
* See also: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/13437]
Signed-off-by: mark.yang <mark.yang@lge.com>
---
db/blob/blob_file_meta.h | 1 +
include/rocksdb/trace_record.h | 1 +
include/rocksdb/write_batch_base.h | 1 +
3 files changed, 3 insertions(+)
diff --git a/db/blob/blob_file_meta.h b/db/blob/blob_file_meta.h
index d7c8a1243..2e47726f8 100644
--- a/db/blob/blob_file_meta.h
+++ b/db/blob/blob_file_meta.h
@@ -6,6 +6,7 @@
#pragma once
#include <cassert>
+#include <cstdint>
#include <iosfwd>
#include <memory>
#include <string>
diff --git a/include/rocksdb/trace_record.h b/include/rocksdb/trace_record.h
index 8f9c3ee2f..d321f5387 100644
--- a/include/rocksdb/trace_record.h
+++ b/include/rocksdb/trace_record.h
@@ -5,6 +5,7 @@
#pragma once
+#include <cstdint>
#include <memory>
#include <string>
#include <vector>
diff --git a/include/rocksdb/write_batch_base.h b/include/rocksdb/write_batch_base.h
index 3334a1292..43b186029 100644
--- a/include/rocksdb/write_batch_base.h
+++ b/include/rocksdb/write_batch_base.h
@@ -9,6 +9,7 @@
#pragma once
#include <cstddef>
+#include <cstdint>
#include "rocksdb/attribute_groups.h"
#include "rocksdb/rocksdb_namespace.h"

View File

@ -0,0 +1,41 @@
From 31012cdfa435d9203da3c3de8127b66bf018692a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 24 Jan 2023 21:40:43 -0800
Subject: [PATCH] checkpoint.h: Add missing includes <cstdint>
It uses uint64_t and it comes from <cstdint>
This is needed with GCC 13 and newer [1]
[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* build error:
FAILED: CMakeFiles/checkpoint_test.dir/utilities/checkpoint/checkpoint_test.cc.o
In file included from rocksdb/9.10.0/git/utilities/checkpoint/checkpoint_test.cc:11:
rocksdb/9.10.0/git/include/rocksdb/utilities/checkpoint.h:49:35: error: 'uint64_t' has not been declared
49 | uint64_t log_size_for_flush = 0,
| ^~~~~~~~
rocksdb/9.10.0/git/include/rocksdb/utilities/checkpoint.h:14:1: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
13 | #include "rocksdb/status.h"
+++ |+#include <cstdint>
14 |
Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/11137]
Signed-off-by: mark.yang <mark.yang@lge.com>
---
include/rocksdb/utilities/checkpoint.h | 1 +
1 file changed, 1 insertion(+)
Index: git/include/rocksdb/utilities/checkpoint.h
===================================================================
--- git.orig/include/rocksdb/utilities/checkpoint.h
+++ git/include/rocksdb/utilities/checkpoint.h
@@ -7,6 +7,7 @@
#pragma once
+#include <cstdint>
#include <string>
#include <vector>

View File

@ -20,6 +20,8 @@ SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=htt
file://static_library_as_option.patch \
file://0001-CMakeLists.txt-Make-the-test-discovery-occur-on-targ.patch \
file://run-ptest \
file://0001-Fix-build-error-with-gcc-13-by-adding-cstdint-header.patch \
file://0001-checkpoint.h-Add-missing-includes-cstdint.patch \
"
SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"