You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "rootCircle (via GitHub)" <gi...@apache.org> on 2026/10/18 08:22:55 UTC

[I] Build fails on Arch Linux with GCC 16 due to missing include in RocksDB [hudi-rs]

rootCircle opened a new issue, #835:
URL: https://github.com/apache/hudi-rs/issues/835

   ### Is there an existing issue for this?
   
   - [x] I have searched the existing issues
   
   ### Description of the bug
   
   Building hudi-rs on Arch Linux fails while compiling the bundled RocksDB dependency through librocksdb-sys. The compiler reports that uint32_t and uint64_t are not declared in rocksdb/include/rocksdb/trace_record.h.
   
   The build succeeds when passing CXXFLAGS="-include cstdint" to make develop.
   
   The bundled RocksDB header may need to include <cstdint> explicitly:
   
   ```cxx
   #include <cstdint>
   ```
   
   Alternatively, the project could update or patch the affected RocksDB dependency if a compatible upstream fix is available.
   
   Possibly related: https://github.com/rust-rocksdb/rust-rocksdb/issues/953
   
   ### Steps To Reproduce
   
   1. git clone git@github.com:apache/hudi-rs.git
   2. Set up the Python venv using `make setup-venv && source .venv/bin/activate`
   3. Run:
   ```bash
   make develop
   ```
   
   Compilation fails for librocksdb-sys
   
   ### Expected behavior
   
   make develop should build without any additional CXX flags
   
   ### Screenshots / Logs
   
   <details>
   
   <summary>Build failure stacktrace</summary>
   
   ```
   ~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:154:57: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:157:60: error: 'uint64_t' has not been declared
     cargo:warning=  157 |                            const std::string& upper_bound, uint64_t timestamp);
     cargo:warning=      |                                                            ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:157:60: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:180:51: error: 'uint32_t' has not been declared
     cargo:warning=  180 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=      |                                                   ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:180:51: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:181:53: error: 'uint64_t' has not been declared
     cargo:warning=  181 |                                PinnableSlice&& key, uint64_t timestamp);
     cargo:warning=      |                                                     ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:181:53: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:183:51: error: 'uint32_t' has not been declared
     cargo:warning=  183 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=      |                                                   ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:183:51: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:184:56: error: 'uint64_t' has not been declared
     cargo:warning=  184 |                                const std::string& key, uint64_t timestamp);
     cargo:warning=      |                                                        ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:184:56: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:186:51: error: 'uint32_t' has not been declared
     cargo:warning=  186 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=      |                                                   ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:186:51: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:188:61: error: 'uint64_t' has not been declared
     cargo:warning=  188 |                                PinnableSlice&& upper_bound, uint64_t timestamp);
     cargo:warning=      |                                                             ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:188:61: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:190:51: error: 'uint32_t' has not been declared
     cargo:warning=  190 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=      |                                                   ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:190:51: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:194:32: error: 'uint64_t' has not been declared
     cargo:warning=  194 |                                uint64_t timestamp);
     cargo:warning=      |                                ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:194:32: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:205:11: error: 'uint32_t' does not name a type
     cargo:warning=  205 |   virtual uint32_t GetColumnFamilyID() const;
     cargo:warning=      |           ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:205:11: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:215:3: error: 'uint32_t' does not name a type
     cargo:warning=  215 |   uint32_t cf_id_;
     cargo:warning=      |   ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:215:3: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:222:40: error: 'uint32_t' was not declared in this scope
     cargo:warning=  222 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=      |                                        ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:222:40: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:222:48: error: template argument 1 is invalid
     cargo:warning=  222 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=      |                                                ^
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:222:48: error: template argument 2 is invalid
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:224:28: error: 'uint64_t' has not been declared
     cargo:warning=  224 |                            uint64_t timestamp);
     cargo:warning=      |                            ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:224:28: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:226:40: error: 'uint32_t' was not declared in this scope
     cargo:warning=  226 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=      |                                        ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:226:40: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:226:48: error: template argument 1 is invalid
     cargo:warning=  226 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=      |                                                ^
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:226:48: error: template argument 2 is invalid
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:228:28: error: 'uint64_t' has not been declared
     cargo:warning=  228 |                            uint64_t timestamp);
     cargo:warning=      |                            ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:228:28: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:235:23: error: 'uint32_t' was not declared in this scope
     cargo:warning=  235 |   virtual std::vector<uint32_t> GetColumnFamilyIDs() const;
     cargo:warning=      |                       ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:235:23: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:235:31: error: template argument 1 is invalid
     cargo:warning=  235 |   virtual std::vector<uint32_t> GetColumnFamilyIDs() const;
     cargo:warning=      |                               ^
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:235:31: error: template argument 2 is invalid
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:244:15: error: 'uint32_t' was not declared in this scope
     cargo:warning=  244 |   std::vector<uint32_t> cf_ids_;
     cargo:warning=      |               ^~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:244:15: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:244:23: error: template argument 1 is invalid
     cargo:warning=  244 |   std::vector<uint32_t> cf_ids_;
     cargo:warning=      |                       ^
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:244:23: error: template argument 2 is invalid
     cargo:warning=rocksdb/trace_replay/trace_record.cc:20:1: error: no declaration matches 'rocksdb::TraceRecord::TraceRecord(uint64_t)'
     cargo:warning=   20 | TraceRecord::TraceRecord(uint64_t timestamp) : timestamp_(timestamp) {}
     cargo:warning=      | ^~~~~~~~~~~
     cargo:warning=  • there are 2 candidates
     cargo:warning=    • candidate 1: 'constexpr rocksdb::TraceRecord::TraceRecord(const rocksdb::TraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:53:7:
     cargo:warning=         53 | class TraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~
     cargo:warning=      • parameter 1 of candidate has type 'const rocksdb::TraceRecord&'...
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:20:35:
     cargo:warning=           20 | TraceRecord::TraceRecord(uint64_t timestamp) : timestamp_(timestamp) {}
     cargo:warning=              |                          ~~~~~~~~~^~~~~~~~~
     cargo:warning=    • candidate 2: 'constexpr rocksdb::TraceRecord::TraceRecord()'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:53:7:
     cargo:warning=         53 | class TraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:53:7: note: 'class rocksdb::TraceRecord' defined here
     cargo:warning=rocksdb/trace_replay/trace_record.cc:22:10: error: no declaration matches 'uint64_t rocksdb::TraceRecord::GetTimestamp() const'
     cargo:warning=   22 | uint64_t TraceRecord::GetTimestamp() const { return timestamp_; }
     cargo:warning=      |          ^~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:22:10: note: no functions named 'uint64_t rocksdb::TraceRecord::GetTimestamp() const'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:53:7: note: 'class rocksdb::TraceRecord' defined here
     cargo:warning=   53 | class TraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:30:1: error: no declaration matches 'rocksdb::QueryTraceRecord::QueryTraceRecord(uint64_t)'
     cargo:warning=   30 | QueryTraceRecord::QueryTraceRecord(uint64_t timestamp)
     cargo:warning=      | ^~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'constexpr rocksdb::QueryTraceRecord::QueryTraceRecord(rocksdb::QueryTraceRecord&&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:95:7:
     cargo:warning=         95 | class QueryTraceRecord : public TraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~
     cargo:warning=      • parameter 1 of candidate has type 'rocksdb::QueryTraceRecord&&'...
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:30:45:
     cargo:warning=           30 | QueryTraceRecord::QueryTraceRecord(uint64_t timestamp)
     cargo:warning=              |                                    ~~~~~~~~~^~~~~~~~~
     cargo:warning=    • candidate 2: 'constexpr rocksdb::QueryTraceRecord::QueryTraceRecord(const rocksdb::QueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:95:7:
     cargo:warning=         95 | class QueryTraceRecord : public TraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~
     cargo:warning=      • parameter 1 of candidate has type 'const rocksdb::QueryTraceRecord&'...
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:30:45:
     cargo:warning=           30 | QueryTraceRecord::QueryTraceRecord(uint64_t timestamp)
     cargo:warning=              |                                    ~~~~~~~~~^~~~~~~~~
     cargo:warning=    • candidate 3: 'constexpr rocksdb::QueryTraceRecord::QueryTraceRecord()'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:95:7:
     cargo:warning=         95 | class QueryTraceRecord : public TraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:95:7: note: 'class rocksdb::QueryTraceRecord' defined here
     cargo:warning=rocksdb/trace_replay/trace_record.cc:34:1: error: no declaration matches 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(rocksdb::PinnableSlice&&, uint64_t)'
     cargo:warning=   34 | WriteQueryTraceRecord::WriteQueryTraceRecord(PinnableSlice&& write_batch_rep,
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(rocksdb::WriteQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:101:7:
     cargo:warning=        101 | class WriteQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:105:3:
     cargo:warning=        105 |   WriteQueryTraceRecord(const std::string& write_batch_rep, uint64_t timestamp);
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:103:3:
     cargo:warning=        103 |   WriteQueryTraceRecord(PinnableSlice&& write_batch_rep, uint64_t timestamp);
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=      • parameter 2 of candidate has type 'int'...
     cargo:warning=        rocksdb/include/rocksdb/trace_record.h:103:67:
     cargo:warning=          103 |   WriteQueryTraceRecord(PinnableSlice&& write_batch_rep, uint64_t timestamp);
     cargo:warning=              |                                                          ~~~~~~~~~^~~~~~~~~
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:35:55:
     cargo:warning=           35 |                                              uint64_t timestamp)
     cargo:warning=              |                                              ~~~~~~~~~^~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:101:7: note: 'class rocksdb::WriteQueryTraceRecord' defined here
     cargo:warning=  101 | class WriteQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:38:1: error: no declaration matches 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(const std::string&, uint64_t)'
     cargo:warning=   38 | WriteQueryTraceRecord::WriteQueryTraceRecord(const std::string& write_batch_rep,
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(rocksdb::WriteQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:101:7:
     cargo:warning=        101 | class WriteQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:105:3:
     cargo:warning=        105 |   WriteQueryTraceRecord(const std::string& write_batch_rep, uint64_t timestamp);
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=      • parameter 2 of candidate has type 'int'...
     cargo:warning=        rocksdb/include/rocksdb/trace_record.h:105:70:
     cargo:warning=          105 |   WriteQueryTraceRecord(const std::string& write_batch_rep, uint64_t timestamp);
     cargo:warning=              |                                                             ~~~~~~~~~^~~~~~~~~
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:39:55:
     cargo:warning=           39 |                                              uint64_t timestamp)
     cargo:warning=              |                                              ~~~~~~~~~^~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::WriteQueryTraceRecord::WriteQueryTraceRecord(rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:103:3:
     cargo:warning=        103 |   WriteQueryTraceRecord(PinnableSlice&& write_batch_rep, uint64_t timestamp);
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:101:7: note: 'class rocksdb::WriteQueryTraceRecord' defined here
     cargo:warning=  101 | class WriteQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:55:1: error: no declaration matches 'rocksdb::GetQueryTraceRecord::GetQueryTraceRecord(uint32_t, rocksdb::PinnableSlice&&, uint64_t)'
     cargo:warning=   55 | GetQueryTraceRecord::GetQueryTraceRecord(uint32_t column_family_id,
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 2 candidates
     cargo:warning=    • candidate 1: 'rocksdb::GetQueryTraceRecord::GetQueryTraceRecord(rocksdb::GetQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:122:7:
     cargo:warning=        122 | class GetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::GetQueryTraceRecord::GetQueryTraceRecord()'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:122:7: note: 'class rocksdb::GetQueryTraceRecord' defined here
     cargo:warning=rocksdb/trace_replay/trace_record.cc:62:1: error: no declaration matches 'rocksdb::GetQueryTraceRecord::GetQueryTraceRecord(uint32_t, const std::string&, uint64_t)'
     cargo:warning=   62 | GetQueryTraceRecord::GetQueryTraceRecord(uint32_t column_family_id,
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 2 candidates
     cargo:warning=    • candidate 1: 'rocksdb::GetQueryTraceRecord::GetQueryTraceRecord(rocksdb::GetQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:122:7:
     cargo:warning=        122 | class GetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::GetQueryTraceRecord::GetQueryTraceRecord()'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:122:7: note: 'class rocksdb::GetQueryTraceRecord' defined here
     cargo:warning=rocksdb/trace_replay/trace_record.cc:71:10: error: no declaration matches 'uint32_t rocksdb::GetQueryTraceRecord::GetColumnFamilyID() const'
     cargo:warning=   71 | uint32_t GetQueryTraceRecord::GetColumnFamilyID() const { return cf_id_; }
     cargo:warning=      |          ^~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:71:10: note: no functions named 'uint32_t rocksdb::GetQueryTraceRecord::GetColumnFamilyID() const'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:122:7: note: 'class rocksdb::GetQueryTraceRecord' defined here
     cargo:warning=  122 | class GetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:82:1: error: no declaration matches 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(uint64_t)'
     cargo:warning=   82 | IteratorQueryTraceRecord::IteratorQueryTraceRecord(uint64_t timestamp)
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(rocksdb::IteratorQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:149:7:
     cargo:warning=        149 | class IteratorQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=      • parameter 1 of candidate has type 'rocksdb::IteratorQueryTraceRecord&'...
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:82:61:
     cargo:warning=           82 | IteratorQueryTraceRecord::IteratorQueryTraceRecord(uint64_t timestamp)
     cargo:warning=              |                                                    ~~~~~~~~~^~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(const std::string&, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:156:3:
     cargo:warning=        156 |   IteratorQueryTraceRecord(const std::string& lower_bound,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:153:3:
     cargo:warning=        153 |   IteratorQueryTraceRecord(PinnableSlice&& lower_bound,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:149:7: note: 'class rocksdb::IteratorQueryTraceRecord' defined here
     cargo:warning=  149 | class IteratorQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:85:1: error: no declaration matches 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, uint64_t)'
     cargo:warning=   85 | IteratorQueryTraceRecord::IteratorQueryTraceRecord(PinnableSlice&& lower_bound,
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(rocksdb::IteratorQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:149:7:
     cargo:warning=        149 | class IteratorQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(const std::string&, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:156:3:
     cargo:warning=        156 |   IteratorQueryTraceRecord(const std::string& lower_bound,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:153:3:
     cargo:warning=        153 |   IteratorQueryTraceRecord(PinnableSlice&& lower_bound,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=      • parameter 3 of candidate has type 'int'...
     cargo:warning=        rocksdb/include/rocksdb/trace_record.h:154:66:
     cargo:warning=          154 |                            PinnableSlice&& upper_bound, uint64_t timestamp);
     cargo:warning=              |                                                         ~~~~~~~~~^~~~~~~~~
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:87:61:
     cargo:warning=           87 |                                                    uint64_t timestamp)
     cargo:warning=              |                                                    ~~~~~~~~~^~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:149:7: note: 'class rocksdb::IteratorQueryTraceRecord' defined here
     cargo:warning=  149 | class IteratorQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:92:1: error: no declaration matches 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(const std::string&, const std::string&, uint64_t)'
     cargo:warning=   92 | IteratorQueryTraceRecord::IteratorQueryTraceRecord(
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(rocksdb::IteratorQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:149:7:
     cargo:warning=        149 | class IteratorQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(const std::string&, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:156:3:
     cargo:warning=        156 |   IteratorQueryTraceRecord(const std::string& lower_bound,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=      • parameter 3 of candidate has type 'int'...
     cargo:warning=        rocksdb/include/rocksdb/trace_record.h:157:69:
     cargo:warning=          157 |                            const std::string& upper_bound, uint64_t timestamp);
     cargo:warning=              |                                                            ~~~~~~~~~^~~~~~~~~
     cargo:warning=      • ...which does not match type 'uint64_t' {aka 'long unsigned int'}
     cargo:warning=        rocksdb/trace_replay/trace_record.cc:94:14:
     cargo:warning=           94 |     uint64_t timestamp)
     cargo:warning=              |     ~~~~~~~~~^~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::IteratorQueryTraceRecord::IteratorQueryTraceRecord(rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:153:3:
     cargo:warning=        153 |   IteratorQueryTraceRecord(PinnableSlice&& lower_bound,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:149:7: note: 'class rocksdb::IteratorQueryTraceRecord' defined here
     cargo:warning=  149 | class IteratorQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:107:1: error: no declaration matches 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, uint32_t, rocksdb::PinnableSlice&&, uint64_t)'
     cargo:warning=  107 | IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 5 candidates
     cargo:warning=    • candidate 1: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(rocksdb::IteratorSeekQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:172:7:
     cargo:warning=        172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, const std::string&, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:190:3:
     cargo:warning=        190 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:186:3:
     cargo:warning=        186 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 4: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:183:3:
     cargo:warning=        183 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 5: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:180:3:
     cargo:warning=        180 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:172:7: note: 'class rocksdb::IteratorSeekQueryTraceRecord' defined here
     cargo:warning=  172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:115:1: error: no declaration matches 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, uint32_t, const std::string&, uint64_t)'
     cargo:warning=  115 | IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 5 candidates
     cargo:warning=    • candidate 1: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(rocksdb::IteratorSeekQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:172:7:
     cargo:warning=        172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, const std::string&, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:190:3:
     cargo:warning=        190 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:186:3:
     cargo:warning=        186 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 4: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:183:3:
     cargo:warning=        183 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 5: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:180:3:
     cargo:warning=        180 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:172:7: note: 'class rocksdb::IteratorSeekQueryTraceRecord' defined here
     cargo:warning=  172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:124:1: error: no declaration matches 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, uint32_t, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, uint64_t)'
     cargo:warning=  124 | IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 5 candidates
     cargo:warning=    • candidate 1: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(rocksdb::IteratorSeekQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:172:7:
     cargo:warning=        172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, const std::string&, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:190:3:
     cargo:warning=        190 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:186:3:
     cargo:warning=        186 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 4: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:183:3:
     cargo:warning=        183 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 5: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:180:3:
     cargo:warning=        180 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:172:7: note: 'class rocksdb::IteratorSeekQueryTraceRecord' defined here
     cargo:warning=  172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:134:1: error: no declaration matches 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, uint32_t, const std::string&, const std::string&, const std::string&, uint64_t)'
     cargo:warning=  134 | IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 5 candidates
     cargo:warning=    • candidate 1: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(rocksdb::IteratorSeekQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:172:7:
     cargo:warning=        172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, const std::string&, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:190:3:
     cargo:warning=        190 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:186:3:
     cargo:warning=        186 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 4: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, const std::string&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:183:3:
     cargo:warning=        183 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 5: 'rocksdb::IteratorSeekQueryTraceRecord::IteratorSeekQueryTraceRecord(SeekType, int, rocksdb::PinnableSlice&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:180:3:
     cargo:warning=        180 |   IteratorSeekQueryTraceRecord(SeekType seekType, uint32_t column_family_id,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:172:7: note: 'class rocksdb::IteratorSeekQueryTraceRecord' defined here
     cargo:warning=  172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:155:10: error: no declaration matches 'uint32_t rocksdb::IteratorSeekQueryTraceRecord::GetColumnFamilyID() const'
     cargo:warning=  155 | uint32_t IteratorSeekQueryTraceRecord::GetColumnFamilyID() const {
     cargo:warning=      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:155:10: note: no functions named 'uint32_t rocksdb::IteratorSeekQueryTraceRecord::GetColumnFamilyID() const'
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:172:7: note: 'class rocksdb::IteratorSeekQueryTraceRecord' defined here
     cargo:warning=  172 | class IteratorSeekQueryTraceRecord : public IteratorQueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:168:1: error: no declaration matches 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(std::vector<unsigned int>, std::vector<rocksdb::PinnableSlice>&&, uint64_t)'
     cargo:warning=  168 | MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(const rocksdb::MultiGetQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:220:7:
     cargo:warning=        220 | class MultiGetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(int, const std::vector<std::__cxx11::basic_string<char> >&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:226:3:
     cargo:warning=        226 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(int, std::vector<rocksdb::PinnableSlice>&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:222:3:
     cargo:warning=        222 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:220:7: note: 'class rocksdb::MultiGetQueryTraceRecord' defined here
     cargo:warning=  220 | class MultiGetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc:175:1: error: no declaration matches 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(std::vector<unsigned int>, const std::vector<std::__cxx11::basic_string<char> >&, uint64_t)'
     cargo:warning=  175 | MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(
     cargo:warning=      | ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there are 3 candidates
     cargo:warning=    • candidate 1: 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(const rocksdb::MultiGetQueryTraceRecord&)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:220:7:
     cargo:warning=        220 | class MultiGetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=            |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 2: 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(int, const std::vector<std::__cxx11::basic_string<char> >&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:226:3:
     cargo:warning=        226 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=    • candidate 3: 'rocksdb::MultiGetQueryTraceRecord::MultiGetQueryTraceRecord(int, std::vector<rocksdb::PinnableSlice>&&, int)'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:222:3:
     cargo:warning=        222 |   MultiGetQueryTraceRecord(std::vector<uint32_t> column_family_ids,
     cargo:warning=            |   ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:220:7: note: 'class rocksdb::MultiGetQueryTraceRecord' defined here
     cargo:warning=  220 | class MultiGetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc: In destructor 'virtual rocksdb::MultiGetQueryTraceRecord::~MultiGetQueryTraceRecord()':
     cargo:warning=rocksdb/trace_replay/trace_record.cc:188:11: error: request for member 'clear' in '((rocksdb::MultiGetQueryTraceRecord*)this)->rocksdb::MultiGetQueryTraceRecord::cf_ids_', which is of non-class type 'int'
     cargo:warning=  188 |   cf_ids_.clear();
     cargo:warning=      |           ^~~~~
     cargo:warning=rocksdb/trace_replay/trace_record.cc: At global scope:
     cargo:warning=rocksdb/trace_replay/trace_record.cc:192:23: error: no declaration matches 'std::vector<unsigned int> rocksdb::MultiGetQueryTraceRecord::GetColumnFamilyIDs() const'
     cargo:warning=  192 | std::vector<uint32_t> MultiGetQueryTraceRecord::GetColumnFamilyIDs() const {
     cargo:warning=      |                       ^~~~~~~~~~~~~~~~~~~~~~~~
     cargo:warning=  • there is 1 candidate
     cargo:warning=    • candidate is: 'virtual int rocksdb::MultiGetQueryTraceRecord::GetColumnFamilyIDs() const'
     cargo:warning=      rocksdb/include/rocksdb/trace_record.h:235:33:
     cargo:warning=        235 |   virtual std::vector<uint32_t> GetColumnFamilyIDs() const;
     cargo:warning=            |                                 ^~~~~~~~~~~~~~~~~~
     cargo:warning=rocksdb/include/rocksdb/trace_record.h:220:7: note: 'class rocksdb::MultiGetQueryTraceRecord' defined here
     cargo:warning=  220 | class MultiGetQueryTraceRecord : public QueryTraceRecord {
     cargo:warning=      |       ^~~~~~~~~~~~~~~~~~~~~~~~
     exit status: 1
     cargo:warning=ToolExecError: command did not execute successfully (status code exit status: 1): "sccache" "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-gdwarf-4" "-fno-omit-frame-pointer" "-mno-omit-leaf-frame-pointer" "-m64" "-I" "rocksdb/include/" "-I" "rocksdb/" "-I" "rocksdb/third-party/gtest-1.8.1/fused-src/" "-I" "snappy/" "-I" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/lz4-sys-de5df9b5a9b8b421/out/include" "-I" "/home/violow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zstd-sys-2.1.2+zstd.1.5.7/zstd/lib" "-I" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/libz-sys-4db279edcbe1ebee/out/include" "-I" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/bzip2-sys-ad0e9bfd6c14304d/out/include" "-I" "." "-Wall" "-Wextra" "-std=c++17" "-Wsign-compare" "-Wshadow" "-Wno-unused-parameter" "-Wno-unused-variable" "-Woverloaded-virtual" "-
 Wnon-virtual-dtor" "-Wno-missing-field-initializers" "-Wno-strict-aliasing" "-Wno-invalid-offsetof" "-msse2" "-std=c++17" "-DSNAPPY=1" "-DLZ4=1" "-DZSTD=1" "-DZLIB=1" "-DBZIP2=1" "-DNDEBUG=1" "-DOS_LINUX" "-DROCKSDB_PLATFORM_POSIX" "-DROCKSDB_LIB_IO_POSIX" "-DROCKSDB_SUPPORT_THREAD_LOCAL" "-o" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/librocksdb-sys-96035ce021298aae/out/6c7cb00c5af69c91-trace_record.o" "-c" "rocksdb/trace_replay/trace_record.cc"
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
     exit status: 0
   
     --- stderr
   
   
     error occurred in cc-rs: command did not execute successfully (status code exit status: 1): "sccache" "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-gdwarf-4" "-fno-omit-frame-pointer" "-mno-omit-leaf-frame-pointer" "-m64" "-I" "rocksdb/include/" "-I" "rocksdb/" "-I" "rocksdb/third-party/gtest-1.8.1/fused-src/" "-I" "snappy/" "-I" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/lz4-sys-de5df9b5a9b8b421/out/include" "-I" "/home/violow/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zstd-sys-2.1.2+zstd.1.5.7/zstd/lib" "-I" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/libz-sys-4db279edcbe1ebee/out/include" "-I" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/bzip2-sys-ad0e9bfd6c14304d/out/include" "-I" "." "-Wall" "-Wextra" "-std=c++17" "-Wsign-compare" "-Wshadow" "-Wno-unused-parameter" "-Wno-unused-variable" "-Woverloaded-virtual" "-Wnon
 -virtual-dtor" "-Wno-missing-field-initializers" "-Wno-strict-aliasing" "-Wno-invalid-offsetof" "-msse2" "-std=c++17" "-DSNAPPY=1" "-DLZ4=1" "-DZSTD=1" "-DZLIB=1" "-DBZIP2=1" "-DNDEBUG=1" "-DOS_LINUX" "-DROCKSDB_PLATFORM_POSIX" "-DROCKSDB_LIB_IO_POSIX" "-DROCKSDB_SUPPORT_THREAD_LOCAL" "-o" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/debug/build/librocksdb-sys-96035ce021298aae/out/6c7cb00c5af69c91-trace_record.o" "-c" "rocksdb/trace_replay/trace_record.cc"
   
   
   warning: build failed, waiting for other jobs to finish...
   💥 maturin failed
     Caused by: Failed to build a native library through cargo
     Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_BUILD_EXTENSION_MODULE="1" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.12-64bit" PYO3_PYTHON="/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/.venv/bin/python" PYTHON_SYS_EXECUTABLE="/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/.venv/bin/python" "cargo" "rustc" "--features" "datafusion,testing" "--message-format" "json-render-diagnostics" "--manifest-path" "/home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/python/Cargo.toml" "--lib"`
   make: *** [Makefile:89: develop] Error 1
   ```
   
   </details>
   
   ### Software information
   
   - Operating system: EndeavourOS Linux x86_64 (flavor of Arch Linux)
   - Rust version: rustc 1.94.1 (e408947bf 2026-03-25)
   - Project version: 0.6.0-dev
   - GCC: 16.2.1
   - Clang: 23.1.1
   - Cargo: 1.94.1
   - Python: 3.12.8
   - rocksdb: 0.22.0
   - librocksdb-sys: 0.16.0+8.10.0
   
   
   ### Additional context
   
   I have a workaround to fix compilation locally, without any compiler/code changes:
   
   ```bash
   CXXFLAGS="-include cstdint" make develop
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Build fails on Arch Linux with GCC 16 due to missing include in RocksDB [hudi-rs]

Posted by "rootCircle (via GitHub)" <gi...@apache.org>.
rootCircle commented on issue #835:
URL: https://github.com/apache/hudi-rs/issues/835#issuecomment-6247699669

   Bumping rocksdb from 0.22 to 0.23 works miraculously, as discussed in https://github.com/rust-rocksdb/rust-rocksdb/issues/953
   
   ```
   hudi-rs on main via v3.12.8 (.venv) took 5m47s 
   ❯ git diff                                   
   diff --git a/Cargo.toml b/Cargo.toml
   index 173af5f..0f53014 100644
   --- a/Cargo.toml
   +++ b/Cargo.toml
   @@ -101,7 +101,7 @@ base64 = { version = "0.23" }
    # (bindgen), which every consumer would otherwise pay for — including the Python
    # wheel and the cxx bridge — for a disk tier that only engages on spill.
    # Licenses: rocksdb Apache-2.0; librocksdb-sys MIT/Apache-2.0/BSD-3-Clause.
   -rocksdb = { version = "0.22" }
   +rocksdb = { version = "0.23" }
    # Fast hasher for the merge map (folded multiply, no hardware-AES dependency).
    foldhash = { version = "0.2" }
    roaring = { version = "0.11" }
   
   hudi-rs on main [!] is v0.6.0-dev via v3.12.8 (.venv) via v1.94.1 
   ❯ make develop
   --- Setup dependencies ---
   uv pip install "maturin>=1.5,<2.0"
   Checked 1 package in 1ms
   --- Develop with Python binding ---
   ./build-wrapper.sh maturin develop --extras=devel,datafusion --features datafusion,testing  -m python/Cargo.toml
   🍹 Building a mixed python/rust project
   🐍 Found CPython 3.12 at /home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/.venv/bin/python
   🔗 Found pyo3 bindings with abi3-py3.10 support
   Checked 10 packages in 4ms
       Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.60s
   ⚠️ Warning: Failed to set rpath for /home/violow/Documents/Coding/Languages/lang/Rust/Projects/hudi-rs/target/maturin/libhudi.so: Failed to execute 'patchelf', did you install it? Hint: Try `pip install maturin[patchelf]` (or just `pip install patchelf`)
   📦 Built wheel for abi3 Python ≥ 3.10 to /tmp/.tmpfFe3E9/hudi-0.6.0.dev0-cp310-abi3-linux_x86_64.whl
   ✏️ Setting installed package as editable
   🛠 Installed hudi-0.6.0.dev0
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org