-
-
Notifications
You must be signed in to change notification settings - Fork 35
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
[13.x] Build with a newer libcxx on macOS #309
Conversation
since conda-forge/conda-forge-pinning-feedstock@408e182 forces a more modern libcxx on macOS, pinning here to libcxx breaks downstream packages such as cppyy, see conda-forge/cppyy-cling-feedstock#62 (comment) As indicated in conda-forge#300 (comment) there should be no problem using libcxx 17 here as well.
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@conda-forge-admin, please rerender |
…nda-forge-pinning 2024.08.23.13.31.00
@chrisburr @eguiraud @henryiii @vepadulano I don't know much about root but I guess you're facing similar issues with libcxx on macOS now? Is this a reasonable way forward? |
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.
This is OK by me. It should also be possible though to stay on clang 16 in cppyy-cling
; you're not forced to follow the global pinning, and you have very good reason (currently) not to. One issue with that is of course that other packages being installed today pick up the libcxx>=17
requirement, so this PR is necessary for staying co-installable with packages currently being built.
Looking forward, root already has a 16.x version (and I see you've tried it in that PR, but cppyy doesn't support it yet), which is good, because when we move to LLVM 18, clang 13 won't work with libcxx 18 anymore (conda-forge/libcxx-feedstock@a09b2d6). We can maybe forestall the change for a while (or keep using libcxx 17 with the clang 18 compilers for a bit), but past some point, it'll always come down to either: switch to newer clang versions, or live with old packages in the environment.
We try to keep libcxx compatible with older clang versions much longer than upstream LLVM, but there are limits to how far we can push this, and ultimately the tide doesn't stop rising. 🥲
@h-vetinari thanks a lot for your remarks. I did indeed considered sticking to clang 16 with cppyy-cling which would keep cppyy itself functional. However, as you indicate, there are downstream packages that use both cppyy and other packages, namely the SageMath computer algebra system. SageMath pulls in lots of dependencies and we cannot realistically keep them all at libcxx 16. So I think the correct way forward is to merge this upgrade. |
Let me know if this is urgent for you; I wanted to let the root people a chance to comment, but we can merge this when necessary. |
@h-vetinari yes, this actually blocks me in a number of places. I can wait for another week and work on a few other things but then it would be quite helpful to see this merged. |
OK, happy to merge this. I opened an issue where we can continue discussion of this topic. |
since
conda-forge/conda-forge-pinning-feedstock@408e182 forces a more modern libcxx on macOS, pinning here to libcxx breaks downstream packages such as cppyy, see conda-forge/cppyy-cling-feedstock#62 (comment)
As indicated in
#300 (comment) there should be no problem using libcxx 17 here as well.
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)