Source: rocksdb
Version: 9.10.0-1
Severity: normal
Tags: ftbfs, forky, sid, patch
User: [email protected]
Usertags: loong64
X-Debbugs-Cc: [email protected]
Dear maintainers,
I encountered a public error while rebuilding for loong64 in the Debian
Package Auto-Building environment.
I have tested and found the same error with gcc-15 on other
architectures, such as amd64.
The error log is as follows,
```
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:164:3:
error: ‘uint64_t’ does not name a type
164 | uint64_t garbage_blob_count_;
| ^~~~~~~~
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:164:3:
note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably
fixable by adding ‘#include <cstdint>’
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:165:3:
error: ‘uint64_t’ does not name a type
165 | uint64_t garbage_blob_bytes_;
| ^~~~~~~~
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:165:3:
note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably
fixable by adding ‘#include <cstdint>’
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h: In
constructor
‘rocksdb::BlobFileMetaData::BlobFileMetaData(std::shared_ptr<rocksdb::SharedBlobFileMetaData>,
int, int, int)’:
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:154:9:
error: class ‘rocksdb::BlobFileMetaData’ does not have any field named
‘linked_ssts_’
154 | linked_ssts_(std::move(linked_ssts)),
| ^~~~~~~~~~~~
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:155:9:
error: class ‘rocksdb::BlobFileMetaData’ does not have any field named
‘garbage_blob_count_’
155 | garbage_blob_count_(garbage_blob_count),
| ^~~~~~~~~~~~~~~~~~~
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:156:9:
error: class ‘rocksdb::BlobFileMetaData’ does not have any field named
‘garbage_blob_bytes_’
156 | garbage_blob_bytes_(garbage_blob_bytes) {
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15/cassert:46,
from
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:8:
/build/reproducible-path/rocksdb-9.10.0/db/blob/blob_file_meta.h:158:12:
error: ‘garbage_blob_count_’ was not declared in this scope; did you
mean ‘garbage_blob_count’?
158 | assert(garbage_blob_count_ <=
shared_meta_->GetTotalBlobCount());
| ^~~~~~~~~~~~~~~~~~~
......
```
Maintainers, please pay attention to the above phenomenon.
Or please generate a rootfs based on the latest archive state on another
architecture for testing.
I made a local patch, and built rocksdb normally on loong64 and amd64.
Patch attached.
Best regards,
Dandan Zhang
Description: Fix FTBFS with gcc-15.
.
rocksdb (9.10.0-1+loong64) unstable; urgency=medium
.
* Fix FTBFS with gcc-15.
Author: Dandan Zhang <[email protected]>
---
Last-Update: 2025-12-23
--- rocksdb-9.10.0.orig/db/blob/blob_file_meta.h
+++ rocksdb-9.10.0/db/blob/blob_file_meta.h
@@ -10,6 +10,7 @@
#include <memory>
#include <string>
#include <unordered_set>
+#include <cstdint>
#include "rocksdb/rocksdb_namespace.h"
--- rocksdb-9.10.0.orig/include/rocksdb/trace_record.h
+++ rocksdb-9.10.0/include/rocksdb/trace_record.h
@@ -12,6 +12,7 @@
#include "rocksdb/rocksdb_namespace.h"
#include "rocksdb/slice.h"
#include "rocksdb/status.h"
+#include <cstdint>
namespace ROCKSDB_NAMESPACE {
--- rocksdb-9.10.0.orig/include/rocksdb/write_batch_base.h
+++ rocksdb-9.10.0/include/rocksdb/write_batch_base.h
@@ -12,6 +12,7 @@
#include "rocksdb/attribute_groups.h"
#include "rocksdb/rocksdb_namespace.h"
+#include <cstdint>
namespace ROCKSDB_NAMESPACE {