You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running make install-rocksdb-ull, there is an error:
In file included from memtable/skiplistrep.cc:6:
./memtable/inlineskiplist.h: In instantiation of 'void rocksdb::InlineSkipList<Comparator>::Node::StashHeight(int) [with Comparator = const rocksdb::MemTableRep::KeyComparator&]':
./memtable/inlineskiplist.h:612:3: required from 'rocksdb::InlineSkipList<Comparator>::Node* rocksdb::InlineSkipList<Comparator>::AllocateNode(size_t, int) [with Comparator = const rocksdb::MemTableRep::KeyComparator&; size_t = long unsigned int]'
./memtable/inlineskiplist.h:574:13: required from 'rocksdb::InlineSkipList<Comparator>::InlineSkipList(Comparator, rocksdb::Allocator*, int32_t, int32_t) [with Comparator = const rocksdb::MemTableRep::KeyComparator&; int32_t = int]'
memtable/skiplistrep.cc:28:28: required from here
./memtable/inlineskiplist.h:283:11: error: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct std::atomic<rocksdb::InlineSkipList<const rocksdb::MemTableRep::KeyComparator&>::Node*>' with no trivial copy-assignment [-Werror=class-memaccess]
memcpy(&next_[0], &height, sizeof(int));
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./memtable/inlineskiplist.h:47,
from memtable/skiplistrep.cc:6:
/usr/include/c++/8.2.1/atomic:352:12: note: 'struct std::atomic<rocksdb::InlineSkipList<const rocksdb::MemTableRep::KeyComparator&>::Node*>' declared here
struct atomic<_Tp*>
^~~~~~~~~~~~
I guess non of my docker based test images use GCC 8. Thanks for reporting this issue.
I've updated the Makefile so user can specify what RocksDB version to use on command line, e.g.
ROCKSDB_VER=5.16.6 make install-rocksdb-ull
I am in the process of looking for a pure-go alternative KV store for Raft entry logs. Requiring users to specify CGO_CFLAGS/CGO_LDFLAGS when building their own application is not that user friendly. Issues like the above is another motivation for that.
RocksDB will always be supported, but it will eventually become something you need to explicitly select in NodeHostConfig - just like the gRPC based transport module in plugin/rpc.
When running
make install-rocksdb-ull
, there is an error:This is a known issue in RocksDB: facebook/rocksdb#2705
The text was updated successfully, but these errors were encountered: