Need to build twice
radrow opened this issue · comments
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.