Skip to content

Constructor Signature Mismatch in search_wrapper.cpp #631

Open
@EthanNing

Description

@EthanNing

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.

Image

Question

  1. Has the API for the Index constructor changed recently? So which version is stable for REST api compilation?
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions