Description
Dear DiskANN team,
I'm attempting to compile DiskANN with REST API support, but I'm encountering a constructor signature mismatch error between search_wrapper.cpp
and the Index
class definition in index.h
.
- Operating System: Springdale Open Enterprise Linux 8.6 (Modena)
- Compiler: g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10)
- DiskANN version: Latest from main branch
When compiling with make -j
, I get the following error:
[ 33%] Building CXX object src/CMakeFiles/diskann.dir/restapi/search_wrapper.cpp.o
[ 34%] Building CXX object src/CMakeFiles/diskann_s.dir/restapi/search_wrapper.cpp.o
[ 35%] Building CXX object src/CMakeFiles/diskann_s.dir/restapi/server.cpp.o
[ 36%] Building CXX object src/CMakeFiles/diskann.dir/restapi/server.cpp.o
[ 37%] Built target ivecs_to_bin
[ 38%] Built target fvecs_to_bvecs
[ 39%] Built target tsv_to_bin
[ 39%] Built target bin_to_tsv
[ 39%] Built target float_bin_to_int8
[ 40%] Built target fvecs_to_bin
/home/jening/DiskANN-0.7.0/src/restapi/search_wrapper.cpp: In instantiation of ‘diskann::InMemorySearch::InMemorySearch(const string&, const string&, const string&, diskann::Metric, uint32_t, uint32_t) [with T = float; std::__cxx11::string = std::__cxx11::basic_string; uint32_t = unsigned int]’:
/home/jening/DiskANN-0.7.0/src/restapi/search_wrapper.cpp:210:16: required from here
/home/jening/DiskANN-0.7.0/src/restapi/search_wrapper.cpp:105:9: error: no matching function for call to ‘diskann::Index<float, unsigned int, unsigned int>::Index(diskann::Metric&, size_t&, size_t&, std::nullptr_t, diskann::IndexSearchParams&, int, bool)’
new diskann::Index(m, dimensions, total_points, nullptr, search_params, 0, false));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.

Question
- Has the API for the Index constructor changed recently? So which version is stable for REST api compilation?
- Is there a way to make the REST API work with the current version of DiskANN?
Any guidance would be greatly appreciated!
Yours Most Sincerely,
Ethan