Closed carlosgellidaInt closed 1 week ago
@carlosgellidaInt could you help provide more detailed instructions to help us reproduce the error? In addition, you mentioned you went back to another commit and which exact commit you referred? Thanks
@carlosgellidaInt in case you still have this issue
This issue is stale because it has been open for 7 days with no activity.
This issue was closed because it has been inactive for 7 days since being marked as stale.
Summary
I cannot compile it with ubuntu18 because incompatibility with Google Benchmark
I have the following error during make
ing_rcq_search.cpp.o [ 76%] Building CXX object perf_tests/CMakeFiles/bench_scalar_quantizer_accuracy.dir/bench_scalar_quantizer_accuracy.cpp.o [ 76%] Building CXX object tests/CMakeFiles/faiss_test.dir/test_merge.cpp.o [ 76%] Building CXX object perf_tests/CMakeFiles/bench_scalar_quantizer_decode.dir/bench_scalar_quantizer_decode.cpp.o In file included from /home/carlos/Documents/Faiss/faiss/perf_tests/bench_scalar_quantizer_accuracy.cpp:13:0: /home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h: In instantiation of ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...)::<lambda(benchmark::State&)> [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}]’: /home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:48: required from ‘struct benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(class benchmark::State&)>’
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1498:38: required from ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]’
/home/carlos/Documents/Faiss/faiss/perf_tests/bench_scalar_quantizer_accuracy.cpp:82:18: required from here
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: variable ‘fn’ has function type
name, [=](benchmark::State& st) { fn(st, args...); });
^~
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: variable ‘fn’ has function type
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h: In instantiation of ‘struct benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(class benchmark::State&)>’:
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1498:38: required from ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]’
/home/carlos/Documents/Faiss/faiss/perf_tests/bench_scalar_quantizer_accuracy.cpp:82:18: required from here
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: field ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>::’ invalidly declared function type
In file included from /home/carlos/Documents/Faiss/faiss/perf_tests/bench_no_multithreading_rcq_search.cpp:10:0:
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h: In instantiation of ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...)::<lambda(benchmark::State&)> [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}]’:
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:48: required from ‘struct benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(class benchmark::State&)>’
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1498:38: required from ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}; std::cxx11::string = std::cxx11::basic_string]’
/home/carlos/Documents/Faiss/faiss/perf_tests/bench_no_multithreading_rcq_search.cpp:61:68: required from here
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: variable ‘fn’ has function type
name, [=](benchmark::State& st) { fn(st, args...); });
^~
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: variable ‘fn’ has function type
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h: In instantiation of ‘struct benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(class benchmark::State&)>’:
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1498:38: required from ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}; std::cxx11::string = std::cxx11::basic_string]’
/home/carlos/Documents/Faiss/faiss/perf_tests/bench_no_multithreading_rcq_search.cpp:61:68: required from here
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: field ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>::’ invalidly declared function type
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1483:22: error: ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&) [with Lambda = benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>; std::cxx11::string = std::cxx11::basic_string]’, declared using local type ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>’, is used but never defined [-fpermissive]
internal::Benchmark RegisterBenchmark(const std::string& name, Lambda&& fn) {
^]::<lambda(benchmark::State&)>; std::cxx11::string = std::cxx11::basic_string]’, declared using local type ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>’, is used but never defined [-fpermissive]
internal::Benchmark RegisterBenchmark(const std::string& name, Lambda&& fn) {
^ [perf_tests/CMakeFiles/bench_no_multithreading_rcq_search.dir/bench_no_multithreading_rcq_search.cpp.o] Error 1
CMakeFiles/Makefile2:2015: recipe for target 'perf_tests/CMakeFiles/bench_no_multithreading_rcq_search.dir/all' failed
make[1]: [perf_tests/CMakeFiles/bench_no_multithreading_rcq_search.dir/all] Error 2
[ 79%] Building CXX object tests/CMakeFiles/faiss_test.dir/test_ondisk_ivf.cpp.o
[ 79%] Building CXX object tests/CMakeFiles/faiss_test.dir/test_pairs_decoding.cpp.o
[ 79%] Building CXX object tests/CMakeFiles/faiss_test.dir/test_params_override.cpp.o
In file included from /home/carlos/Documents/Faiss/faiss/perf_tests/bench_scalar_quantizer_decode.cpp:14:0:
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h: In instantiation of ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...)::<lambda(benchmark::State&)> [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}]’:
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:48: required from ‘struct benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(class benchmark::State&)>’
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1498:38: required from ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]’
/home/carlos/Documents/Faiss/faiss/perf_tests/bench_scalar_quantizer_decode.cpp:65:71: required from here
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: variable ‘fn’ has function type
name, [=](benchmark::State& st) { fn(st, args...); });
^~
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: variable ‘fn’ has function type
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h: In instantiation of ‘struct benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(class benchmark::State&)>’:
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1498:38: required from ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]’
/home/carlos/Documents/Faiss/faiss/perf_tests/bench_scalar_quantizer_decode.cpp:65:71: required from here
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1499:41: error: field ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>::’ invalidly declared function type
/home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1483:22: error: ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&) [with Lambda = benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>; std::cxx11::string = std::cxx11::basic_string]’, declared using local type ‘benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, faiss::ScalarQuantizer::QuantizerType, int, int); Args = {faiss::ScalarQuantizer::QuantizerType&, int&, int&}; std::cxx11::string = std::cxx11::basic_string]::<lambda(benchmark::State&)>’, is used but never defined [-fpermissive]
internal::Benchmark RegisterBenchmark(const std::string& name, Lambda&& fn) {
^ [perf_tests/CMakeFiles/bench_scalar_quantizer_decode.dir/bench_scalar_quantizer_decode.cpp.o] Error 1
CMakeFiles/Makefile2:2081: recipe for target 'perf_tests/CMakeFiles/bench_scalar_quantizer_decode.dir/all' failed
~~~~ perf_tests/CMakeFiles/bench_scalar_quantizer_accuracy.dir/build.make:78: recipe for target 'perf_tests/CMakeFiles/bench_scalar_quantizer_accuracy.dir/bench_scalar_quantizer_accuracy.cpp.o' failed make[2]: [perf_tests/CMakeFiles/bench_scalar_quantizer_accuracy.dir/bench_scalar_quantizer_accuracy.cpp.o] Error 1 CMakeFiles/Makefile2:2048: recipe for target 'perf_tests/CMakeFiles/bench_scalar_quantizer_accuracy.dir/all' failed make[1]: [perf_tests/CMakeFiles/bench_scalar_quantizer_accuracy.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 79%] Building CXX object tests/CMakeFiles/faiss_test.dir/test_omp_threads.cpp.o /home/carlos/Documents/Faiss/faiss/build/_deps/googlebenchmark-src/include/benchmark/benchmark.h:1483:22: error: ‘benchmark::internal::Benchmark benchmark::RegisterBenchmark(const string&, Lambda&&) [with Lambda = benchmark::RegisterBenchmark(const string&, Lambda&&, Args&& ...) [with Lambda = void (&)(benchmark::State&, int, int, float); Args = {int&, int&, float&}; std::cxx11::string = std::cxx11::basic_string~~~~ perf_tests/CMakeFiles/bench_no_multithreading_rcq_search.dir/build.make:78: recipe for target 'perf_tests/CMakeFiles/bench_no_multithreading_rcq_search.dir/bench_no_multithreading_rcq_search.cpp.o' failed make[2]:~~~~ perf_tests/CMakeFiles/bench_scalar_quantizer_decode.dir/build.make:78: recipe for target 'perf_tests/CMakeFiles/bench_scalar_quantizer_decode.dir/bench_scalar_quantizer_decode.cpp.o' failed make[2]:When I went back to another commit with hard reset it works fine, but maybe it can be solved in current version, thanks!