Open kloczek opened 2 years ago
I guess somehow you are using the latest google benchmark/benchmark. h
in the build since that header recently changed from public const int thread_index;
to int thread_index() const { return thread_index_; }
according to their PR while RocksDB hasn't picked that up.
Would you be able to utilize make or cmake build system instead of building directly with g++ to make sure library version is correct? For example, in your rocksdb folder do make db_basic_bench
or make -jN db_basic_bench
(where N is the number of cores if you want to parallelize the build)? See https://github.com/facebook/rocksdb/blob/main/INSTALL.md#compilation for more info on building with make or cmake.
I'm using google benchmark 1.6.1and I'm building rocksdb using cmake.
1.6.1
Is there any chance you could install/use a 1.5.5 version as a quick fix if you don't necessarily need to use 16.1? 1.5.5 version works fine with me.
All other packages in my diseo have no problems with that version. So .. looks like rocksdb is not ready yet for that version of the google benchmark? (if yess feesl free to change subject of this issue ticket)
Yeah and there isn’t any immediate plan to make change on Rocksdb side. But I tried to clarify things a bit here https://github.com/facebook/rocksdb/pull/9505
Is there anything else I can help you with before closing the issue?
Does it mean that you are not going to adapt rocksdb code to be able use it with latest google benchmark? 🤔
We might in the future - I was just saying there isn’t an intermediate plan. The INSTALL file change is there for more clarity right now.
(And I changed the issue title.)
Thanks @hx235 for calcifying it in the doc. Yeah, unfortunately it's because Google benchmark introduced a non-backward compatible change in 1.6.0
: https://github.com/google/benchmark/commit/dc1a97174d5b84b1ce6720f1c98f85e6031b4723 and some platforms (like ubuntu-20.04) are not yet upgraded to the 1.6.x version, which blocks us from upgrading. We will upgrade once most of the platforms are having the 1.6.x google benchmark.
By default, micro-benchmark is disabled, unless you explicitly enable that by -DWITH_BENCHMARK=1
. So if you do want to run mico-benchmark, currently you have to use google benchmark <= 1.5.5.
Just tested 7.0.1 and looks like issue still is around .. 🤔
Just tested 7.0.1 and looks like issue still is around .. 🤔
It's because a non-backward compatible change from google benchmark. If we upgrade, then it will break the build for the user with 1.5.x. And for example Ubuntu 20.0 is still using google benchmark 1.5.0 version.
gcc 12.0.0 from fedora rawhide