@@ -42,17 +42,34 @@ if(USE_SVS)
42
42
43
43
# detect if build environment is using glibc
44
44
include (CheckSymbolExists )
45
- unset (GLIBC_FOUND CACHE )
46
45
check_symbol_exists (__GLIBC__ "features.h" GLIBC_FOUND )
47
- if (NOT GLIBC_FOUND )
48
- message (STATUS "GLIBC is not detected - SVS shared library is not supported" )
46
+ if (GLIBC_FOUND )
47
+ include (CheckCXXSourceRuns )
48
+ check_cxx_source_runs ("#include <features.h>
49
+ int main(){ return __GLIBC__ == 2 && __GLIBC_MINOR__ >= 28 ?0:1; }"
50
+ GLIBC_2_28_FOUND )
51
+ check_cxx_source_runs ("#include <features.h>
52
+ int main(){ return __GLIBC__ == 2 && __GLIBC_MINOR__ >= 26 ?0:1; }"
53
+ GLIBC_2_26_FOUND )
49
54
endif ()
50
55
51
56
cmake_dependent_option (SVS_SHARED_LIB "Use SVS pre-compiled shared library" ON "USE_SVS AND GLIBC_FOUND AND SVS_LVQ_SUPPORTED" OFF )
52
57
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
53
- set (SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.0.8-dev/svs-shared-library-0.0.8-NIGHTLY-20250629-clang.tar.gz" CACHE STRING "SVS URL" )
58
+ if (GLIBC_2_28_FOUND )
59
+ set (SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.0.8-dev/svs-shared-library-0.0.8-NIGHTLY-20250629-clang.tar.gz" CACHE STRING "SVS URL" )
60
+ else ()
61
+ message (STATUS "GLIBC>=2.28 is required for Clang build - disabling SVS_SHARED_LIB" )
62
+ set (SVS_SHARED_LIB OFF )
63
+ endif ()
54
64
else ()
55
- set (SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.0.8-dev/svs-shared-library-0.0.8-NIGHTLY-20250630.tar.gz" CACHE STRING "SVS URL" )
65
+ if (GLIBC_2_28_FOUND )
66
+ set (SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.0.8-dev/svs-shared-library-0.0.8-NIGHTLY-20250630.tar.gz" CACHE STRING "SVS URL" )
67
+ elseif (GLIBC_2_26_FOUND )
68
+ set (SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.0.8-dev/svs-shared-library-0.0.8-NIGHTLY-20250701-glibc-2_26.tar.gz" CACHE STRING "SVS URL" )
69
+ else ()
70
+ message (STATUS "GLIBC>=2.26 is required for SVS shared library - disabling SVS_SHARED_LIB" )
71
+ set (SVS_SHARED_LIB OFF )
72
+ endif ()
56
73
endif ()
57
74
58
75
if (SVS_SHARED_LIB )
0 commit comments