-
Notifications
You must be signed in to change notification settings - Fork 417
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
Stdlib: c_stdlib_version falsely determined as unset #5210
Comments
Hi @h-vetinari , I've added this to the 24.3.x release milestone list; would you consider this issue a blocker (i.e. conda-build should be considered broken or will significantly block conda-forge-related work etc.) if this isn't fixed in time to be included in the March release? |
It depends a bit on the fallout. It's strange to me that a recipe that's not using any of the new functionality would stumble while being rendered - for that recipe, the outcome is quite bad, because we cannot change configuration etc., without doing very error-prone manual surgery. So far I've just encountered one that failed to rerender, which I wouldn't consider a blocker. But if it's more widespread, then yes. In any case, in the context of some urgency for the upgrades of glibc and macos deployment target this year, any bugs in the stdlib functionality have high priority to me, especially if the lead times accumulate (but I'll admit that my priorities are perhaps not 100% representative of everyone else 😅) |
I doubt this is a one-off case and I think this is a blocker for the release. My worry is about the conda-build test suite. How did this bug leak through? |
This is not an issue with conda-build. The conda-forge cbc.yml is invalid for Using the following
And this
We can reproduce the error:
Versus:
|
Thanks for the response @kenodegard! So there's 3-4 different things happening here:
IMO the consequences for conda-build should be, at the very least:
|
I did more digging here:
|
None of this is specific to I agree that we shouldn't necessarily fail when keys are incorrectly defined in cbc.yml and also unused in the recipe at hand but I'd also argue that we shouldn't allow usage of a broken cbc.yml and should handle it ASAP. It would seem to me that it would be better for smithy to intercept the error and say something like "cbc.yml is broken for ____ platform".
The error being thrown is valid. We've specified a for stdlib, version in zip(c_stdlib, c_stdlib_version):
print(stdlib, version) and then wondering why nothing gets printed. What you're suggesting is that
Would it help if conda-build offered a subcommand to verify the cbc.yml for some list of platforms? |
Thanks @kenodegard! Yes I agree with what you are saying above. Here is my suggestion for how to proceed:
|
Thanks for the inputs and the pinning PR! With an unmodified recipe and the new pinning, the ctng-compiler-activation now rerenders again. |
Per @beckermr 's comment here, we opened a new issue to track further improvements for cbc.yml error reporting and validations. Closing this ticket since the original issue discussed here has been resolved. |
While trying to rerender https://github.com/conda-forge/ctng-compiler-activation-feedstock with the newest conda-build, I'm running into a problem that's seemingly related to the new stdlib-jinja. However, that recipe does not use this function at all...?
The error looks as follows:
Aside from the recipe not using
{{ stdlib("c") }}
, the specification is also definitely present already in conda-forge's global pinning.I've tried monkey-patching my conda-build to contain #5195, as well as adding the stdlib-config to the local CBC, and even setting some value for the windows
c_stdlib_version
(that's not set in the global pinning because it shouldn't be necessary). In all cases, I get the same error.The error appears in
conda-build/conda_build/variants.py
Lines 150 to 163 in 38fdc15
but I can't quite yet tell why that would be the case.
CC @mbargull @beckermr
The text was updated successfully, but these errors were encountered: