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

[13.x] Build with a newer libcxx on macOS #309

Merged
merged 2 commits into from
Aug 26, 2024

Conversation

saraedum
Copy link
Member

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

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

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.
@conda-forge-webservices
Copy link

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 (recipe/meta.yaml) and found it was in an excellent condition.

@saraedum
Copy link
Member Author

@conda-forge-admin, please rerender

@saraedum
Copy link
Member Author

saraedum commented Aug 23, 2024

@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?

Copy link
Member

@h-vetinari h-vetinari left a 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. 🥲

@saraedum
Copy link
Member Author

@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.

@h-vetinari h-vetinari changed the title Build with a newer libcxx on macOS [13.x] Build with a newer libcxx on macOS Aug 24, 2024
@h-vetinari
Copy link
Member

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.

@saraedum
Copy link
Member Author

@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.

@h-vetinari
Copy link
Member

OK, happy to merge this. I opened an issue where we can continue discussion of this topic.

@h-vetinari h-vetinari merged commit 23f5bae into conda-forge:13.x Aug 26, 2024
13 checks passed
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

Successfully merging this pull request may close these issues.

2 participants