RedisAI / VectorSimilarity

Other
38 stars 12 forks source link

Compilation error #414

Closed Spixmaster closed 1 year ago

Spixmaster commented 1 year ago

Describe the bug The compilation fails.

To Reproduce Steps to reproduce the behavior: Compile.

Expected behavior Successful compilation.

Screenshots

[ 71%] Building C object CMakeFiles/rscore.dir/src/rlookup.c.o
[ 71%] Building CXX object deps/googletest/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[ 72%] Building C object CMakeFiles/rscore.dir/src/rs_geo.c.o
[ 72%] Building C object CMakeFiles/rscore.dir/src/rules.c.o
[ 72%] Building C object CMakeFiles/rscore.dir/src/rwlock.c.o
[ 73%] Building C object CMakeFiles/rscore.dir/src/score_explain.c.o
[ 73%] Building C object CMakeFiles/rscore.dir/src/sortable.c.o
[ 73%] Building C object CMakeFiles/rscore.dir/src/spec.c.o
[ 73%] Building C object CMakeFiles/rscore.dir/src/spell_check.c.o
[ 74%] Building C object CMakeFiles/rscore.dir/src/stemmer.c.o
[ 74%] Building C object CMakeFiles/rscore.dir/src/stopwords.c.o
[ 74%] Building C object CMakeFiles/rscore.dir/src/suffix.c.o
[ 75%] Building C object CMakeFiles/rscore.dir/src/suggest.c.o
[ 75%] Building C object CMakeFiles/rscore.dir/src/summarize_spec.c.o
[ 75%] Building C object CMakeFiles/rscore.dir/src/synonym_map.c.o
[ 76%] Building C object CMakeFiles/rscore.dir/src/tag_index.c.o
[ 76%] Building C object CMakeFiles/rscore.dir/src/tokenize.c.o
[ 76%] Building C object CMakeFiles/rscore.dir/src/tokenize_cn.c.o
In file included from /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/info_iterator_struct.h:10,
                 from /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/vec_sim_interface.h:11,
                 from /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/vec_sim_index.h:9,
                 from /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/index_factories/tiered_factory.h:11,
                 from /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/index_factories/tiered_factory.cpp:7:
In function 'T* array_ensure_cap(T*, size_t) [with T = VecSimQueryResult]',
    inlined from 'T* array_concat(T*, T*) [with T = VecSimQueryResult]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:67:27,
    inlined from 'void concat_results(VecSimQueryResult_List&, VecSimQueryResult_List&)' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/query_result_utils.h:103:23,
    inlined from 'VecSimQueryResult_List VecSimTieredIndex<DataType, DistType>::rangeQuery(const void*, double, VecSimQueryParams*, VecSimQueryResult_Order) const [with DataType = float; DistType = float]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/vec_sim_tiered_index.h:246:27:
/home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:46:20: error: array subscript -1 is outside array bounds of 'VecSimQueryResult [576460752303423487]' [-Werror=array-bounds=]
   46 |     if (cap > hdr->cap) {
      |               ~~~~~^~~
[ 76%] Linking CXX static library ../../../lib/libgtest_main.a
[ 76%] Built target gtest_main
In function 'T* array_ensure_cap(T*, size_t) [with T = VecSimQueryResult]',
    inlined from 'T* array_concat(T*, T*) [with T = VecSimQueryResult]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:67:27,
    inlined from 'void concat_results(VecSimQueryResult_List&, VecSimQueryResult_List&)' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/query_result_utils.h:103:23,
    inlined from 'VecSimQueryResult_List VecSimTieredIndex<DataType, DistType>::rangeQuery(const void*, double, VecSimQueryParams*, VecSimQueryResult_Order) const [with DataType = double; DistType = double]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/vec_sim_tiered_index.h:246:27:
/home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:46:20: error: array subscript -1 is outside array bounds of 'VecSimQueryResult [576460752303423487]' [-Werror=array-bounds=]
   46 |     if (cap > hdr->cap) {
      |               ~~~~~^~~
[ 77%] Building C object CMakeFiles/rscore.dir/src/trie/levenshtein.c.o
[ 77%] Building C object CMakeFiles/rscore.dir/src/trie/rune_util.c.o
[ 77%] Building C object CMakeFiles/rscore.dir/src/trie/sparse_vector.c.o
In function 'T* array_ensure_cap(T*, size_t) [with T = VecSimQueryResult]',
    inlined from 'T* array_concat(T*, T*) [with T = VecSimQueryResult]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:67:27,
    inlined from 'void concat_results(VecSimQueryResult_List&, VecSimQueryResult_List&)' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/query_result_utils.h:103:23,
    inlined from 'VecSimQueryResult_List TieredHNSWIndex<DataType, DistType>::TieredHNSW_BatchIterator::getNextResults(size_t, VecSimQueryResult_Order) [with DataType = float; DistType = float]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/algorithms/hnsw/hnsw_tiered.h:913:27:
/home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:46:20: error: array subscript -1 is outside array bounds of 'VecSimQueryResult [576460752303423487]' [-Werror=array-bounds=]
   46 |     if (cap > hdr->cap) {
      |               ~~~~~^~~
[ 77%] Building C object CMakeFiles/rscore.dir/src/trie/trie.c.o
[ 78%] Building C object CMakeFiles/rscore.dir/src/trie/trie_type.c.o
[ 78%] Building C object CMakeFiles/rscore.dir/src/util/arr.c.o
In function 'T* array_ensure_cap(T*, size_t) [with T = VecSimQueryResult]',
    inlined from 'T* array_concat(T*, T*) [with T = VecSimQueryResult]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:67:27,
    inlined from 'void concat_results(VecSimQueryResult_List&, VecSimQueryResult_List&)' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/query_result_utils.h:103:23,
    inlined from 'VecSimQueryResult_List TieredHNSWIndex<DataType, DistType>::TieredHNSW_BatchIterator::getNextResults(size_t, VecSimQueryResult_Order) [with DataType = double; DistType = double]' at /home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/algorithms/hnsw/hnsw_tiered.h:913:27:
/home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/VectorSimilarity/src/VecSim/utils/arr_cpp.h:46:20: error: array subscript -1 is outside array bounds of 'VecSimQueryResult [576460752303423487]' [-Werror=array-bounds=]
   46 |     if (cap > hdr->cap) {
      |               ~~~~~^~~
[ 78%] Building C object CMakeFiles/rscore.dir/src/util/array.c.o
[ 79%] Building C object CMakeFiles/rscore.dir/src/util/block_alloc.c.o
[ 79%] Building C object CMakeFiles/rscore.dir/src/util/dict.c.o
[ 79%] Building C object CMakeFiles/rscore.dir/src/util/fnv.c.o
[ 80%] Building C object CMakeFiles/rscore.dir/src/util/heap.c.o
[ 80%] Building C object CMakeFiles/rscore.dir/src/util/khtable.c.o
[ 80%] Building C object CMakeFiles/rscore.dir/src/util/logging.c.o
[ 80%] Building C object CMakeFiles/rscore.dir/src/util/mempool.c.o
[ 81%] Building C object CMakeFiles/rscore.dir/src/util/minmax_heap.c.o
[ 81%] Building C object CMakeFiles/rscore.dir/src/util/misc.c.o
[ 81%] Building C object CMakeFiles/rscore.dir/src/util/quantile.c.o
[ 82%] Building C object CMakeFiles/rscore.dir/src/util/references.c.o
[ 82%] Building C object CMakeFiles/rscore.dir/src/util/threadpool_api.c.o
[ 82%] Building C object CMakeFiles/rscore.dir/src/util/workers.c.o
cc1plus: all warnings being treated as errors
[ 83%] Building C object CMakeFiles/rscore.dir/src/value.c.o
[ 83%] Building C object CMakeFiles/rscore.dir/src/varint.c.o
[ 83%] Building C object CMakeFiles/rscore.dir/src/vector_index.c.o
make[3]: *** [deps/VectorSimilarity/src/VecSim/CMakeFiles/VectorSimilarity.dir/build.make:104: deps/VectorSimilarity/src/VecSim/CMakeFiles/VectorSimilarity.dir/index_factories/tiered_factory.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
[ 83%] Built target rscore
make[2]: *** [CMakeFiles/Makefile2:611: deps/VectorSimilarity/src/VecSim/CMakeFiles/VectorSimilarity.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 83%] Linking CXX static library libredisearch-geometry.a
[ 83%] Built target redisearch-geometry
make[1]: *** [Makefile:136: all] Error 2
make: *** [/home/matheus/aur/redi-search/src/redi-search-2.8.4/deps/readies/mk/cmake.rules:31: /home/matheus/aur/redi-search/src/redi-search-2.8.4/bin/linux-x64-release/search/redisearch.so] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build:

Environment (please complete the following information):

Additional context

GuyAv46 commented 1 year ago

Hey @Spixmaster! This issue is about to get fixed in #412. In the meanwhile, the library can be compiled using GCC<=11

Spixmaster commented 1 year ago

I found a temporary solution.

Remove -Wall from

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall")

in the file src/VecSim/CMakeLists.txt.

GuyAv46 commented 1 year ago

Fixed on the main branch. Will be part of v0.7.1