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 {
 

Reply via email to