When compiling RocksDB (with ZenFS plugin enabled), I encountered the following compilation error:
db/compaction/compaction_outputs.cc: In member function ‘rocksdb::Status rocksdb::CompactionOutputs::Finish(const rocksdb::Status&, const rocksdb::SeqnoToTimeMapping&)’:
db/compaction/compaction_outputs.cc:43:6: error: ‘ENABLE_SHORT_WITH_TYPE0’ was not declared in this scope
43 | if(ENABLE_SHORT_WITH_TYPE0 != -1) {
| ^~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:2450: db/compaction/compaction_outputs.o] Error 1
It seems that the macro ENABLE_SHORT_WITH_TYPE0 is used in compaction_outputs.cc but is never defined in any header file. The compiler cannot find the definition of this macro, which leads to a build failure.
This issue occurs with the following build command:
sudo DISABLE_WARNING_AS_ERROR=1 ROCKSDB_PLUGINS=zenfs make db_bench install DEBUG_LEVEL=0