-
Notifications
You must be signed in to change notification settings - Fork 21
[SVS] Add support for GLIBC 2.26 systems and GCC v11.2. E.g. AmazonLinux 2 #720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -42,17 +42,34 @@ if(USE_SVS) | |
|
|
||
| # detect if build environment is using glibc | ||
| include(CheckSymbolExists) | ||
| unset(GLIBC_FOUND CACHE) | ||
| check_symbol_exists(__GLIBC__ "features.h" GLIBC_FOUND) | ||
| if(NOT GLIBC_FOUND) | ||
| message(STATUS "GLIBC is not detected - SVS shared library is not supported") | ||
| if(GLIBC_FOUND) | ||
| include(CheckCXXSourceRuns) | ||
| check_cxx_source_runs("#include <features.h> | ||
| int main(){ return __GLIBC__ == 2 && __GLIBC_MINOR__ >= 28 ?0:1; }" | ||
| GLIBC_2_28_FOUND) | ||
| check_cxx_source_runs("#include <features.h> | ||
| int main(){ return __GLIBC__ == 2 && __GLIBC_MINOR__ >= 26 ?0:1; }" | ||
| GLIBC_2_26_FOUND) | ||
| endif() | ||
|
|
||
| cmake_dependent_option(SVS_SHARED_LIB "Use SVS pre-compiled shared library" ON "USE_SVS AND GLIBC_FOUND AND SVS_LVQ_SUPPORTED" OFF) | ||
| if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") | ||
| 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") | ||
| if (GLIBC_2_28_FOUND) | ||
| 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") | ||
| else() | ||
| message(STATUS "GLIBC>=2.28 is required for Clang build - disabling SVS_SHARED_LIB") | ||
| set(SVS_SHARED_LIB OFF) | ||
| endif() | ||
| else() | ||
| 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") | ||
| if (GLIBC_2_28_FOUND) | ||
| 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") | ||
| elseif(GLIBC_2_26_FOUND) | ||
| 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") | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there any difference between the two binaries aside from the system they were built on?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @ethanglaser, can you please provide qualified answer to this question?
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No other differences |
||
| else() | ||
| message(STATUS "GLIBC>=2.26 is required for SVS shared library - disabling SVS_SHARED_LIB") | ||
| set(SVS_SHARED_LIB OFF) | ||
| endif() | ||
| endif() | ||
|
|
||
| if(SVS_SHARED_LIB) | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.