-
-
Notifications
You must be signed in to change notification settings - Fork 19
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
Add testing against older clangs on osx #127
Conversation
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 ( |
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.
We are using older clangs with newer libcxx. For eg: cling, root, etc.
That's a tricky situation, but it simply does not work indefinitely. It would have stopped with LLVM 16 already if I hadn't managed to revert the patch that caused the test with clang 11 to fail. It's going to get harder and harder for ever-older clangs to use current libcxx (and that setup basically gets zero testing). Which of course is a problem because everything is geared towards only using newest libcxx (which thus becomes a run-dep of most compiled packages), see also conda-forge/clangdev-feedstock#188 So how do we square that circle?
Independently of which approach we choose, I really think we need to start testing these things, otherwise we're flying blind. What would you think about building
Assuming this shows a bunch of failures, I suggest that it would be up to cling/root etc. to propose fixes. IMO it must remain a question of best-effort to support ancient compiler versions, where our entire infrastructure has moved on already. But with the above setup, at least we'd have a better picture of what would need fixing, resp. which combinations of new libcxx with old clang still work. |
Note that, compared to libcxx's support policy, we're pretty far out on a limb here - officially supported are only the last two stable releases. Obviously we've been able to stretch this quite a bit further, and I'm not against it if it works, but that just means that at any point we could encounter a degree of breakage with old clangs that's beyond salvaging (I'm against heavily patching libcxx for that purpose - that's potentially a huge amount of work but more importantly: way more risk to get something wrong). In any case, I have a implemented the testing idea in conda-forge/libcxx-testing-feedstock#3. |
…nda-forge-pinning 2023.07.29.23.56.43
Still builds down to clang 11, as before (I kept the revert also on osx; contrary to the state of the PR at the time of the change request)
This is my hypothesis, given that I hadn't noticed that the lastlibcxx-testing
build still required clang 11! Should be fixed now by conda-forge/libcxx-testing-feedstock#2See below