Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to build twice #67

Open
radrow opened this issue Dec 10, 2023 · 0 comments
Open

Need to build twice #67

radrow opened this issue Dec 10, 2023 · 0 comments
Labels
area/infra Things related to overall infrastructure, configuration, but not logic kind/bug Something isn't working

Comments

@radrow
Copy link
Member

radrow commented Dec 10, 2023

For some reason the first time I run make I get linker error while building rocksdb:

In file included from /home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:9:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:65:7: error: ‘uint8_t’ does not name a type
   65 | const uint8_t kNoEntry = 255;
      |       ^~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:1:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
  +++ |+#include <cstdint>
    1 | // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:66:7: error: ‘uint8_t’ does not name a type
   66 | const uint8_t kCollision = 254;
      |       ^~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:66:7: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:67:7: error: ‘uint8_t’ does not name a type
   67 | const uint8_t kMaxRestartSupportedByHashIndex = 253;
      |       ^~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:67:7: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:25: error: ‘uint32_t’ was not declared in this scope
  112 |   std::vector<std::pair<uint32_t, uint8_t>> hash_and_restart_pairs_;
      |                         ^~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:25: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:35: error: ‘uint8_t’ was not declared in this scope
  112 |   std::vector<std::pair<uint32_t, uint8_t>> hash_and_restart_pairs_;
      |                                   ^~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:35: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:35: error: template argument 1 is invalid
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:35: error: template argument 2 is invalid
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:42: error: template argument 1 is invalid
  112 |   std::vector<std::pair<uint32_t, uint8_t>> hash_and_restart_pairs_;
      |                                          ^~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:112:42: error: template argument 2 is invalid
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h: In member function ‘size_t rocksdb::DataBlockHashIndexBuilder::EstimateSize() const’:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:93:5: error: ‘uint16_t’ was not declared in this scope
   93 |     uint16_t estimated_num_buckets =
      |     ^~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:93:5: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:97:5: error: ‘estimated_num_buckets’ was not declared in this scope; did you mean ‘estimated_num_buckets_’?
   97 |     estimated_num_buckets |= 1;
      |     ^~~~~~~~~~~~~~~~~~~~~
      |     estimated_num_buckets_
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:100:63: error: ‘uint8_t’ was not declared in this scope
  100 |            static_cast<size_t>(estimated_num_buckets * sizeof(uint8_t));
      |                                                               ^~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:100:63: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h: At global scope:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:120:37: error: ‘uint16_t’ has not been declared
  120 |   void Initialize(const char* data, uint16_t size, uint16_t* map_offset);
      |                                     ^~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:120:52: error: ‘uint16_t’ has not been declared
  120 |   void Initialize(const char* data, uint16_t size, uint16_t* map_offset);
      |                                                    ^~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:122:3: error: ‘uint8_t’ does not name a type
  122 |   uint8_t Lookup(const char* data, uint32_t map_offset, const Slice& key) const;
      |   ^~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:122:3: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:133:3: error: ‘uint16_t’ does not name a type
  133 |   uint16_t num_buckets_;
      |   ^~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:133:3: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h: In constructor ‘rocksdb::DataBlockHashIndex::DataBlockHashIndex()’:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:118:26: error: class ‘rocksdb::DataBlockHashIndex’ does not have any field named ‘num_buckets_’
  118 |   DataBlockHashIndex() : num_buckets_(0) {}
      |                          ^~~~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h: In member function ‘bool rocksdb::DataBlockHashIndex::Valid()’:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:124:32: error: ‘num_buckets_’ was not declared in this scope
  124 |   inline bool Valid() { return num_buckets_ != 0; }
      |                                ^~~~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc: In member function ‘void rocksdb::DataBlockHashIndexBuilder::Add(const rocksdb::Slice&, size_t)’:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:18:23: error: ‘kMaxRestartSupportedByHashIndex’ was not declared in this scope; did you mean ‘kMaxBlockSizeSupportedByHashIndex’?
   18 |   if (restart_index > kMaxRestartSupportedByHashIndex) {
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                       kMaxBlockSizeSupportedByHashIndex
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:24:27: error: request for member ‘emplace_back’ in ‘((rocksdb::DataBlockHashIndexBuilder*)this)->rocksdb::DataBlockHashIndexBuilder::hash_and_restart_pairs_’, which is of non-class type ‘int’
   24 |   hash_and_restart_pairs_.emplace_back(hash_value,
      |                           ^~~~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc: In member function ‘void rocksdb::DataBlockHashIndexBuilder::Finish(std::string&)’:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:43:45: error: ‘kNoEntry’ was not declared in this scope
   43 |   std::vector<uint8_t> buckets(num_buckets, kNoEntry);
      |                                             ^~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:45:22: error: ‘begin’ was not declared in this scope; did you mean ‘std::begin’?
   45 |   for (auto& entry : hash_and_restart_pairs_) {
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
      |                      std::begin
In file included from /usr/include/c++/13/string:53,
                 from /home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:5:
/usr/include/c++/13/bits/range_access.h:95:5: note: ‘std::begin’ declared here
   95 |     begin(_Tp (&__arr)[_Nm]) noexcept
      |     ^~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:45:22: error: ‘end’ was not declared in this scope; did you mean ‘std::end’?
   45 |   for (auto& entry : hash_and_restart_pairs_) {
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
      |                      std::end
/usr/include/c++/13/bits/range_access.h:106:5: note: ‘std::end’ declared here
  106 |     end(_Tp (&__arr)[_Nm]) noexcept
      |     ^~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:53:27: error: ‘kCollision’ was not declared in this scope
   53 |       buckets[buck_idx] = kCollision;
      |                           ^~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc: In member function ‘void rocksdb::DataBlockHashIndexBuilder::Reset()’:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:72:27: error: request for member ‘clear’ in ‘((rocksdb::DataBlockHashIndexBuilder*)this)->rocksdb::DataBlockHashIndexBuilder::hash_and_restart_pairs_’, which is of non-class type ‘int’
   72 |   hash_and_restart_pairs_.clear();
      |                           ^~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc: At global scope:
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:75:6: error: no declaration matches ‘void rocksdb::DataBlockHashIndex::Initialize(const char*, uint16_t, uint16_t*)’
   75 | void DataBlockHashIndex::Initialize(const char* data, uint16_t size,
      |      ^~~~~~~~~~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:120:8: note: candidate is: ‘void rocksdb::DataBlockHashIndex::Initialize(const char*, int, int*)’
  120 |   void Initialize(const char* data, uint16_t size, uint16_t* map_offset);
      |        ^~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:116:7: note: ‘class rocksdb::DataBlockHashIndex’ defined here
  116 | class DataBlockHashIndex {
      |       ^~~~~~~~~~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:85:9: error: no declaration matches ‘uint8_t rocksdb::DataBlockHashIndex::Lookup(const char*, uint32_t, const rocksdb::Slice&) const’
   85 | uint8_t DataBlockHashIndex::Lookup(const char* data, uint32_t map_offset,
      |         ^~~~~~~~~~~~~~~~~~
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.cc:85:9: note: no functions named ‘uint8_t rocksdb::DataBlockHashIndex::Lookup(const char*, uint32_t, const rocksdb::Slice&) const’
/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/deps/rocksdb/table/block_based/data_block_hash_index.h:116:7: note: ‘class rocksdb::DataBlockHashIndex’ defined here
  116 | class DataBlockHashIndex {
      |       ^~~~~~~~~~~~~~~~~~
gmake[8]: *** [CMakeFiles/rocksdb.dir/build.make:2148: CMakeFiles/rocksdb.dir/table/block_based/data_block_hash_index.cc.o] Error 1
gmake[8]: *** Waiting for unfinished jobs....
gmake[7]: *** [CMakeFiles/Makefile2:139: CMakeFiles/rocksdb.dir/all] Error 2
gmake[6]: *** [CMakeFiles/Makefile2:146: CMakeFiles/rocksdb.dir/rule] Error 2
gmake[5]: *** [Makefile:169: rocksdb] Error 2
gmake[4]: *** [CMakeFiles/rocksdb.dir/build.make:86: rocksdb-prefix/src/rocksdb-stamp/rocksdb-build] Error 2
gmake[3]: *** [CMakeFiles/Makefile2:170: CMakeFiles/rocksdb.dir/all] Error 2
gmake[2]: *** [Makefile:91: all] Error 2
gmake[2]: Leaving directory '/home/rjro/Documents/a/aerepl/node/_build/default/lib/rocksdb/_build/cmake'
+ exit 1

However, retrying always seems to help.

@radrow radrow added kind/bug Something isn't working area/infra Things related to overall infrastructure, configuration, but not logic labels Dec 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/infra Things related to overall infrastructure, configuration, but not logic kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant