Skip to content
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

Update Conda recipe's GLIBC to 2.28 #131

Closed
jakirkham opened this issue Jan 11, 2025 · 5 comments
Closed

Update Conda recipe's GLIBC to 2.28 #131

jakirkham opened this issue Jan 11, 2025 · 5 comments

Comments

@jakirkham
Copy link
Member

jakirkham commented Jan 11, 2025

RAPIDS dropped CentOS 7 / GLIBC 2.17 support already: #23

Also the CUDA Toolkit deprecated CentOS 7 / GLIBC 2.17 support in CUDA 12.4.0

However we hung onto some references to GLIBC 2.17 in Conda recipes (for example) as there was not a way to update them and there was no pressing need given they would still build ok (albeit with somewhat lax metadata).

Since then conda-forge added support for packages to build with GLIBC 2.28 and 2.34 (based on AlmaLinux 8 and 9 respectively). The default remains to build packages with GLIBC 2.17 compatibility.

While there are several CUDA Toolkit and other CUDA packages that have kept working with GLIBC 2.17, some have already dropped support. Here are a few examples (however there are more):

As a result installing newer versions of the CUDA Toolkit or other CUDA packages, will become impossible for newer versions

To address this, would recommend that we update the GLIBC version used in our Conda recipes. Doing this would amount to changing our conda_build_config.yaml's like so

 c_stdlib_version:
-  - "2.17"
+  - "2.28"
@jakirkham
Copy link
Member Author

It may make sense to couple this with the upgrade to GCC 13. They are similar changes in nature and happen in the same file

xref: #129

@bdice
Copy link
Contributor

bdice commented Jan 13, 2025

I implemented PRs for #129 and this issue. Track the status here: #129 (comment)

@bdice
Copy link
Contributor

bdice commented Jan 21, 2025

@jakirkham We have migrated all the main RAPIDS repos but there may be some places that we missed. One is pynvjitlink. https://github.com/rapidsai/pynvjitlink/blob/b88deb79db8c3a359e743cc72df7f40b8872e60e/conda/recipes/pynvjitlink/conda_build_config.yaml#L10-L11

I'm not sure whether pynvjitlink still needs to support glibc 2.17 or not.

Here are some other possible leftovers:

Happy to have your thoughts on how to proceed.

@jakirkham
Copy link
Member Author

Thanks Bradley! 🙏

As pynvjitlink already uses Rocky Linux 8 images for its builds, think we should go ahead and bump this GLIBC 2.28 (as we have done throughout RAPIDS). Also it looks like GCC 11 is used in pynvjitlink. So we can update to GCC 13. Have done this in PR: rapidsai/pynvjitlink#120

Right now XGBoost is using a subset of the CUDA Toolkit, which still works on GLIBC 2.17. So it still works there atm. Think we can leave it until something changes. That will also help with keeping it in sync with conda-forge

Since libcufile needs GLIBC 2.28 and cuDF needs libcufile, think anything that needs cuDF will need to move to GLIBC 2.28. We can do some offline messaging to help raise awareness

Hope that helps. Please let me know if there are more questions

bdice pushed a commit to rapidsai/pynvjitlink that referenced this issue Jan 22, 2025
Update Conda's sysroot version to match the image version of GLIBC 2.28.
Also update the compilers to use GCC 13 as is already the case
throughout RAPIDS.

Part of issues:
* rapidsai/build-planning#131
* rapidsai/build-planning#129
@jakirkham
Copy link
Member Author

Think we have got the bulk of things

The repositories we normally touch as part of these upgrades are done

Closing as completed

Happy to discuss with others as needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants