Install Rocksdb Issue
fearanp opened this issue · 5 comments
Hi Team,
I tried to install the AIL framework today but I am running into this issue at present.
`CC db/db_impl/db_impl.o
CC db/db_impl/db_impl_compaction_flush.o
db/db_impl/db_impl_compaction_flush.cc: In member function ‘rocksdb::Status rocksdb::DBImpl::CompactFilesImpl(const rocksdb::CompactionOptions&, rocksdb::ColumnFamilyData*, rocksdb::Version*, const std::vector<std::__cxx11::basic_string >&, std::vector<std::__cxx11::basic_string >, int, int, rocksdb::JobContext, rocksdb::LogBuffer*, rocksdb::CompactionJobInfo*)’:
db/db_impl/db_impl_compaction_flush.cc:1040:21: error: loop variable ‘newf’ creates a copy from type ‘const std::pair<int, rocksdb::FileMetaData>’ [-Werror=range-loop-construct]
1040 | for (const auto newf : c->edit()->GetNewFiles()) {
| ^~~~
db/db_impl/db_impl_compaction_flush.cc:1040:21: note: use reference type to prevent copying
1040 | for (const auto newf : c->edit()->GetNewFiles()) {
| ^~~~
| &
db/db_impl/db_impl_compaction_flush.cc: In member function ‘void rocksdb::DBImpl::NotifyOnCompactionBegin(rocksdb::ColumnFamilyData*, rocksdb::Compaction*, const rocksdb::Status&, const rocksdb::CompactionJobStats&, int)’:
db/db_impl/db_impl_compaction_flush.cc:1140:21: error: loop variable ‘newf’ creates a copy from type ‘const std::pair<int, rocksdb::FileMetaData>’ [-Werror=range-loop-construct]
1140 | for (const auto newf : c->edit()->GetNewFiles()) {
| ^~~~
db/db_impl/db_impl_compaction_flush.cc:1140:21: note: use reference type to prevent copying
1140 | for (const auto newf : c->edit()->GetNewFiles()) {
| ^~~~
| &
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:2117: db/db_impl/db_impl_compaction_flush.o] Error 1
make[2]: Leaving directory '/home/main/Desktop/AIL_Project/ail-framework/ardb/deps/rocksdb-6.8.1'
make[1]: *** [Makefile:411: /home/main/Desktop/AIL_Project/ail-framework/ardb/src/../deps/rocksdb-6.8.1/librocksdb.a] Error 2
make[1]: Leaving directory '/home/main/Desktop/AIL_Project/ail-framework/ardb/src'
make: *** [Makefile:4: all] Error 2`
Is there a bug in the db_impl_compaction_flush.cc file ? If you have any guidance that would be great .
^~~~ this symbol above is located under "newf"
Many Thanks
I'm facing the same issue in my environment (Ubuntu 20.04). Do you have any suggestions to fix it?
We are moving away from rocksdb and we now use kvrocks. The 5.0 version branch https://github.com/ail-project/ail-framework/tree/KVROCKS and it will be released in major new 5.0 release of AIL.
I tried installing with KVROCS
and finished successfully.
However, I had to modify the ./configs/6383.conf
dir /home/aurelien/git/ail-framework/DATA_KVROCKS
I changed the directory to my home directory.
pidfile /home/aurelien/git/ail-framework/DATA_KVROCKS/kvrocks.pid
I changed the pidfile path to /var/run/kvrocks.pid
I'm facing the same issue in my environment (Ubuntu 20.04). Do you have any suggestions to fix it?
Hi FYI I just forked a lower version to try get around it and it worked. Seems like a bug/error somewhere in that repo install. Thats good news about KVROCS thanks