-
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
Conversation
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.
Pull Request Overview
This PR broadens Linux compatibility to GLIBC ≥2.26 (e.g., AmazonLinux 2) and adds a GCC 11.2 workaround by:
- Replacing invalid
view()calls in tests withstr(). - Extending CMake to detect GLIBC 2.26 and 2.28 and select appropriate SVS shared-library URLs or disable the build.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tests/unit/test_svs.cpp | Swapped .view() for .str() on ostringstream to fetch logs. |
| cmake/svs.cmake | Added checks for GLIBC 2.26/2.28 and conditional SVS_SHARED_LIB configuration. |
meiravgri
left a comment
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.
great thanks a lot !
| 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") |
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.
Is there any difference between the two binaries aside from the system they were built on?
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.
@ethanglaser, can you please provide qualified answer to this question?
Thank you.
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.
No other differences
da49299 to
9e7f34c
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #720 +/- ##
=======================================
Coverage 96.86% 96.86%
=======================================
Files 122 122
Lines 7397 7397
=======================================
Hits 7165 7165
Misses 232 232 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…nux 2 (#720) * [SVS] Add support for GLIBC 2.26 systems. E.g. AmazonLinux 2 * Workaround GCC v11.2 C++20 compatibility issue * fixup! [SVS] Add support for GLIBC 2.26 systems. E.g. AmazonLinux 2
|
Successfully created backport PR for |
…azonLinux 2 (#721) [SVS] Add support for GLIBC 2.26 systems and GCC v11.2. E.g. AmazonLinux 2 (#720) * [SVS] Add support for GLIBC 2.26 systems. E.g. AmazonLinux 2 * Workaround GCC v11.2 C++20 compatibility issue * fixup! [SVS] Add support for GLIBC 2.26 systems. E.g. AmazonLinux 2 (cherry picked from commit e1d0334) Co-authored-by: Rafik Saliev <rafik.f.saliev@intel.com>
Describe the changes in the pull request
This change includes compatibility issues for Linux OSes with GLIBC prior to v.2.28 including AmazonLinux 2.
Now the minimum supported GLIBC version is 2.26.
This change also includes the workaround for GCC v.11.2, which does not fully support C++20 standard.
Which issues this PR fixes
Main objects this PR modified
Mark if applicable