-
-
Notifications
You must be signed in to change notification settings - Fork 284
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
Separate long-term migration for error_overlinking: true
?
#2015
Comments
(I wrote an extended response to this a week ago and it got deleted in a browsing mishap. 😮💨 Trying again...) I really like this idea, and it has been something I've been cleaning up for the R feedstocks since I joined the team. Here are a few aspects from the R feedstocks ecosystem:
|
@conda-forge/r please chime in if I missed anything or you have a different take. |
Note: this is being set for new feedstocks since conda-forge/staged-recipes#21940. But we still have an overwhelming majority of existing feedstocks that don't build with this. |
It's worth noting that |
Also noticed the conda-build docs are a bit spotty Wrote up some suggestions on areas to fill out in issue: conda/conda-build#5103 |
Both of these would only trigger on |
there are also a few (new) warnings about multiple packages depending on other. would those trigger failures too? I agree with making this a separate long term migration. seems like a good idea. |
I will cross reference @pkgw's comment in #1880 (comment)
So it might be hard to get this perfectly right for all packages. |
That's a mostly orthogonal concern here, I think. If there's no runtime/dev split, then the run-export is just the whole thing, which means downstream packages will still be able to build against a library and its dependencies. Having a proper split into |
In the context of the boost migration, we ran into some issues and then added a defensive run-export from
libboost-python-devel
tolibboost
(rather than justlibboost-python
).This is not the cleanest way to do it, and Isuru suggested adding
error_overlinking
in the migrator. I don't want to couple this with the boost migration though, because I spent a lot of time looking at the CI of basically all the boost migration PRs, to check whether packages actually needed the boost libraries, or just the headers (or vice versa).And it's pretty clear that many feedstocks do not care much about their link check, as long as the CI is green (i.e. probably >90% of the PRs I inspected had some linkage issues flagged).
Still, while very painful, I think it'd be a worthwhile clean-up to do in conda-forge as a whole. So I thought I'd open this issue so that we can do this in a way where we don't single out one specific migration to bear the brunt of that pain, and can move from feedstock to feedstock at a more leisurely pace.
However, this would need a couple of things to figure out IMO, at least where some packages show up in the link check in a way that's not the fault of the recipe, or despite being actually needed:
ucrt
/vc14_runtime
are added defensively, even though they're not always usedlibcxx
for C++ on osxWe might be able to improve the first two by using
{{ stdlib("c") }}
and perhaps even{{ stdlib("cxx") }}
(once it lands...) as explicit dependencies in recipes, rather than always adding it in the compiler, but in general, I think we should have answers (or exceptions) for these cases, so we don't force all feedstocks to pointlessly addignore_run_exports_from:
everywhere.Thoughts?
The text was updated successfully, but these errors were encountered: