Hi, I encountered an error when I run the script prepare.sh. Some error logs are shown as follows.
Compiling benchmark...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pfl/workspace/SOSD/build
[ 5%] Generating competitors/rmi/all_rmis.h
[ 15%] Built target generate
Scanning dependencies of target benchmark
[ 21%] Building CXX object CMakeFiles/benchmark.dir/benchmark.cc.o
/home/pfl/workspace/SOSD/benchmark.cc: In function ‘int main(int, char**)’:
/home/pfl/workspace/SOSD/benchmark.cc:28:273: error: the value of ‘normal_200M_uint32_rmi::NAME’ is not usable in a constant expression
me, _, dtype, _,suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:87:7: note: in expansion of macro ‘run_rmi_linear’
run_rmi_linear(uint32, normal_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:1:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/normal_200M_uint32_rmi.h:6:12: note: ‘normal_200M_uint32_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "normal_200M_uint32_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:28:273: error: the value of ‘lognormal_200M_uint32_rmi::NAME’ is not usable in a constant expression
me, _, dtype, _,suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:88:7: note: in expansion of macro ‘run_rmi_linear’
run_rmi_linear(uint32, lognormal_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:3:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/lognormal_200M_uint32_rmi.h:6:12: note: ‘lognormal_200M_uint32_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "lognormal_200M_uint32_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:274: error: the value of ‘books_200M_uint32_rmi::NAME’ is not usable in a constant expression
e, _, dtype, _, suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:89:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, books_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:11:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/books_200M_uint32_rmi.h:6:12: note: ‘books_200M_uint32_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "books_200M_uint32_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:314: error: could not convert template argument ‘books_200M_uint32_rmi::lookup’ to ‘uint64_t (*)(uint64_t, size_t*) {aka long unsigned int (*)(long unsigned int, long unsigned int*)}’
(name, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>();
^
/home/pfl/workspace/SOSD/benchmark.cc:89:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, books_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: no matching function for call to ‘sosd::Benchmark<unsigned int>::Run()’
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:89:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, books_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/benchmark.cc:1:0:
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: candidate: template<class Index, bool ignore_errors> void sosd::Benchmark<KeyType>::Run() [with Index = Index; bool ignore_errors = ignore_errors; KeyType = unsigned int]
void Run() {
^
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: template argument deduction/substitution failed:
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: template argument 1 is invalid
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:89:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, books_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:274: error: the value of ‘fb_200M_uint32_rmi::NAME’ is not usable in a constant expression
e, _, dtype, _, suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:90:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, fb_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:13:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/fb_200M_uint32_rmi.h:6:12: note: ‘fb_200M_uint32_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "fb_200M_uint32_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:314: error: could not convert template argument ‘fb_200M_uint32_rmi::lookup’ to ‘uint64_t (*)(uint64_t, size_t*) {aka long unsigned int (*)(long unsigned int, long unsigned int*)}’
(name, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>();
^
/home/pfl/workspace/SOSD/benchmark.cc:90:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, fb_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: no matching function for call to ‘sosd::Benchmark<unsigned int>::Run()’
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:90:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, fb_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/benchmark.cc:1:0:
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: candidate: template<class Index, bool ignore_errors> void sosd::Benchmark<KeyType>::Run() [with Index = Index; bool ignore_errors = ignore_errors; KeyType = unsigned int]
void Run() {
^
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: template argument deduction/substitution failed:
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: template argument 1 is invalid
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:90:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint32, fb_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:28:273: error: the value of ‘uniform_dense_200M_uint32_rmi::NAME’ is not usable in a constant expression
me, _, dtype, _,suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:91:7: note: in expansion of macro ‘run_rmi_linear’
run_rmi_linear(uint32, uniform_dense_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:5:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/uniform_dense_200M_uint32_rmi.h:6:12: note: ‘uniform_dense_200M_uint32_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "uniform_dense_200M_uint32_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:28:273: error: the value of ‘uniform_sparse_200M_uint32_rmi::NAME’ is not usable in a constant expression
me, _, dtype, _,suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:92:7: note: in expansion of macro ‘run_rmi_linear’
run_rmi_linear(uint32, uniform_sparse_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:7:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/uniform_sparse_200M_uint32_rmi.h:6:12: note: ‘uniform_sparse_200M_uint32_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "uniform_sparse_200M_uint32_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:274: error: the value of ‘wiki_ts_200M_uint64_rmi::NAME’ is not usable in a constant expression
e, _, dtype, _, suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:114:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, wiki_ts_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:10:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/wiki_ts_200M_uint64_rmi.h:6:12: note: ‘wiki_ts_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "wiki_ts_200M_uint64_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:314: error: could not convert template argument ‘wiki_ts_200M_uint64_rmi::lookup’ to ‘uint64_t (*)(uint64_t, size_t*) {aka long unsigned int (*)(long unsigned int, long unsigned int*)}’
(name, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>();
^
/home/pfl/workspace/SOSD/benchmark.cc:114:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, wiki_ts_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: no matching function for call to ‘sosd::Benchmark<long unsigned int>::Run()’
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:114:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, wiki_ts_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/benchmark.cc:1:0:
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: candidate: template<class Index, bool ignore_errors> void sosd::Benchmark<KeyType>::Run() [with Index = Index; bool ignore_errors = ignore_errors; KeyType = long unsigned int]
void Run() {
^
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: template argument deduction/substitution failed:
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: template argument 1 is invalid
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:114:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, wiki_ts_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:274: error: the value of ‘osm_cellids_200M_uint64_rmi::NAME’ is not usable in a constant expression
e, _, dtype, _, suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:115:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, osm_cellids_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:9:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/osm_cellids_200M_uint64_rmi.h:6:12: note: ‘osm_cellids_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "osm_cellids_200M_uint64_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:314: error: could not convert template argument ‘osm_cellids_200M_uint64_rmi::lookup’ to ‘uint64_t (*)(uint64_t, size_t*) {aka long unsigned int (*)(long unsigned int, long unsigned int*)}’
(name, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>();
^
/home/pfl/workspace/SOSD/benchmark.cc:115:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, osm_cellids_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: no matching function for call to ‘sosd::Benchmark<long unsigned int>::Run()’
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:115:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, osm_cellids_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/benchmark.cc:1:0:
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: candidate: template<class Index, bool ignore_errors> void sosd::Benchmark<KeyType>::Run() [with Index = Index; bool ignore_errors = ignore_errors; KeyType = long unsigned int]
void Run() {
^
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: template argument deduction/substitution failed:
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: template argument 1 is invalid
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:115:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, osm_cellids_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:28:273: error: the value of ‘normal_200M_uint64_rmi::NAME’ is not usable in a constant expression
me, _, dtype, _,suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:116:7: note: in expansion of macro ‘run_rmi_linear’
run_rmi_linear(uint64, normal_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:2:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/normal_200M_uint64_rmi.h:6:12: note: ‘normal_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "normal_200M_uint64_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:274: error: the value of ‘lognormal_200M_uint64_rmi::NAME’ is not usable in a constant expression
e, _, dtype, _, suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:117:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, lognormal_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:4:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/lognormal_200M_uint64_rmi.h:6:12: note: ‘lognormal_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "lognormal_200M_uint64_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:314: error: could not convert template argument ‘lognormal_200M_uint64_rmi::lookup’ to ‘uint64_t (*)(uint64_t, size_t*) {aka long unsigned int (*)(long unsigned int, long unsigned int*)}’
(name, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>();
^
/home/pfl/workspace/SOSD/benchmark.cc:117:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, lognormal_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: no matching function for call to ‘sosd::Benchmark<long unsigned int>::Run()’
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:117:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, lognormal_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/benchmark.cc:1:0:
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: candidate: template<class Index, bool ignore_errors> void sosd::Benchmark<KeyType>::Run() [with Index = Index; bool ignore_errors = ignore_errors; KeyType = long unsigned int]
void Run() {
^
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: template argument deduction/substitution failed:
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: template argument 1 is invalid
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:117:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, lognormal_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:274: error: the value of ‘books_200M_uint64_rmi::NAME’ is not usable in a constant expression
e, _, dtype, _, suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:118:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, books_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:12:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/books_200M_uint64_rmi.h:6:12: note: ‘books_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "books_200M_uint64_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:314: error: could not convert template argument ‘books_200M_uint64_rmi::lookup’ to ‘uint64_t (*)(uint64_t, size_t*) {aka long unsigned int (*)(long unsigned int, long unsigned int*)}’
(name, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>();
^
/home/pfl/workspace/SOSD/benchmark.cc:118:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, books_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: no matching function for call to ‘sosd::Benchmark<long unsigned int>::Run()’
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:118:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, books_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/benchmark.cc:1:0:
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: candidate: template<class Index, bool ignore_errors> void sosd::Benchmark<KeyType>::Run() [with Index = Index; bool ignore_errors = ignore_errors; KeyType = long unsigned int]
void Run() {
^
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: template argument deduction/substitution failed:
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: template argument 1 is invalid
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:118:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, books_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:274: error: the value of ‘fb_200M_uint64_rmi::NAME’ is not usable in a constant expression
e, _, dtype, _, suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:119:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, fb_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:14:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/fb_200M_uint64_rmi.h:6:12: note: ‘fb_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "fb_200M_uint64_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:30:314: error: could not convert template argument ‘fb_200M_uint64_rmi::lookup’ to ‘uint64_t (*)(uint64_t, size_t*) {aka long unsigned int (*)(long unsigned int, long unsigned int*)}’
(name, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>();
^
/home/pfl/workspace/SOSD/benchmark.cc:119:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, fb_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: no matching function for call to ‘sosd::Benchmark<long unsigned int>::Run()’
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:119:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, fb_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/benchmark.cc:1:0:
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: candidate: template<class Index, bool ignore_errors> void sosd::Benchmark<KeyType>::Run() [with Index = Index; bool ignore_errors = ignore_errors; KeyType = long unsigned int]
void Run() {
^
/home/pfl/workspace/SOSD/benchmark.h:51:8: note: template argument deduction/substitution failed:
/home/pfl/workspace/SOSD/benchmark.cc:30:323: error: template argument 1 is invalid
ame, _, dtype, _,suffix)::NAME, NAME5(name, _, dtype, _, suffix)::lookup>>(); }
^
/home/pfl/workspace/SOSD/benchmark.cc:119:7: note: in expansion of macro ‘run_rmi_binary’
run_rmi_binary(uint64, fb_200M, rmi);
^
/home/pfl/workspace/SOSD/benchmark.cc:28:273: error: the value of ‘uniform_dense_200M_uint64_rmi::NAME’ is not usable in a constant expression
me, _, dtype, _,suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:120:7: note: in expansion of macro ‘run_rmi_linear’
run_rmi_linear(uint64, uniform_dense_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:6:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/uniform_dense_200M_uint64_rmi.h:6:12: note: ‘uniform_dense_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "uniform_dense_200M_uint64_rmi";
^
/home/pfl/workspace/SOSD/benchmark.cc:28:273: error: the value of ‘uniform_sparse_200M_uint64_rmi::NAME’ is not usable in a constant expression
me, _, dtype, _,suffix)::RMI_SIZE, NAME5(name, _, dtype, _,suffix)::NAME, NAME5
^
/home/pfl/workspace/SOSD/benchmark.cc:121:7: note: in expansion of macro ‘run_rmi_linear’
run_rmi_linear(uint64, uniform_sparse_200M, rmi);
^
In file included from /home/pfl/workspace/SOSD/competitors/rmi/all_rmis.h:8:0,
from /home/pfl/workspace/SOSD/competitors/rmi_search.h:4,
from /home/pfl/workspace/SOSD/benchmark.cc:8:
/home/pfl/workspace/SOSD/competitors/rmi/uniform_sparse_200M_uint64_rmi.h:6:12: note: ‘uniform_sparse_200M_uint64_rmi::NAME’ was not declared ‘constexpr’
const char NAME[] = "uniform_sparse_200M_uint64_rmi";
^
CMakeFiles/benchmark.dir/build.make:86: recipe for target 'CMakeFiles/benchmark.dir/benchmark.cc.o' failed
make[2]: *** [CMakeFiles/benchmark.dir/benchmark.cc.o] Error 1
CMakeFiles/Makefile2:97: recipe for target 'CMakeFiles/benchmark.dir/all' failed
make[1]: *** [CMakeFiles/benchmark.dir/all] Error 2
Makefile:103: recipe for target 'all' failed
make: *** [all] Error 2
I run the codes on a ubuntu 16.04 server with gcc 5.4, g++5.4 and cmake 3.17.