-
Notifications
You must be signed in to change notification settings - Fork 21
SVS support for Amazon linux 2 #718
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
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #718 +/- ##
==========================================
- Coverage 96.88% 96.86% -0.03%
==========================================
Files 122 122
Lines 7359 7359
==========================================
- Hits 7130 7128 -2
- Misses 229 231 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| # Use build from glibc 2.26 if using Amazon Linux 2 OS, otherwise use glibc 2.28 build | ||
| file(READ "/etc/os-release" OS_RELEASE_CONTENT) | ||
| string(FIND "${OS_RELEASE_CONTENT}" "Amazon Linux 2" AMAZON_LINUX_2_FOUND) | ||
| if (NOT AMAZON_LINUX_2_FOUND EQUAL -1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find the current phrasing a bit confusing. Could we rephrase or reorder the conditions to make it clearer?
| # Use build from glibc 2.26 if using Amazon Linux 2 OS, otherwise use glibc 2.28 build | ||
| file(READ "/etc/os-release" OS_RELEASE_CONTENT) | ||
| string(FIND "${OS_RELEASE_CONTENT}" "Amazon Linux 2" AMAZON_LINUX_2_FOUND) | ||
| if (NOT AMAZON_LINUX_2_FOUND EQUAL -1) | ||
| 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") | ||
| 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") | ||
| endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if it is fully correct to focus on OS version rather than GLIBC.
More proper way could be adding between lines 48-49 (if GLIBC_FOUND):
else()
include(CheckCSourceRuns)
check_c_source_runs("#include <features.h>
int main(){ return __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 28 ?0:1; }"
GLIBC_2_28_FOUND)
check_c_source_runs("#include <features.h>
int main(){ return __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 26 ?0:1; }"
GLIBC_2_26_FOUND)then, at line 51
- cmake_dependent_option(SVS_SHARED_LIB "Use SVS pre-compiled shared library" ON "USE_SVS AND GLIBC_FOUND AND SVS_LVQ_SUPPORTED" OFF)
+ cmake_dependent_option(SVS_SHARED_LIB "Use SVS pre-compiled shared library" ON "USE_SVS AND GLIBC_2_26_FOUND AND SVS_LVQ_SUPPORTED" OFF)Then here:
| # Use build from glibc 2.26 if using Amazon Linux 2 OS, otherwise use glibc 2.28 build | |
| file(READ "/etc/os-release" OS_RELEASE_CONTENT) | |
| string(FIND "${OS_RELEASE_CONTENT}" "Amazon Linux 2" AMAZON_LINUX_2_FOUND) | |
| if (NOT AMAZON_LINUX_2_FOUND EQUAL -1) | |
| 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") | |
| 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") | |
| endif() | |
| 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") | |
| else() | |
| 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") | |
| endif() |
|
Proposing #720 |
|
Closing in favor of #720 |
Describe the changes in the pull request
Adds SVS shared+static library support for Amazon Linux 2. Checks os-release content and uses build from glibc 2.26 for this OS, otherwise continues using broader supporting glibc 2.28 SVS build.
Mark if applicable