-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
Unpin numpy as a host dependency #85
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 ( |
Wait with merging this. I found another big issue here. |
Please remove the two lines mentioned in #86 |
#87 does this |
Co-authored-by: h-vetinari <h.vetinari@gmx.com>
@conda-forge-admin, please rerender |
…nda-forge-pinning 2023.06.03.09.50.24
Are these warnings anything to worry about?
Apart from that, things seem to be working. Are you happy with this being merged once tests pass? |
Yeah, this is not a good thing and needs to be fixed. It looks like your installation process is reinstalling numpy, including some of the test sources, and this gets picked up by conda's before/after-snapshotting of the host environment. The answer should be simple: don't reinstall numpy, use the one that's installed in host already. |
It's likely this: 8fac64f (just pushed) But, if not, there is a small chance it is from the PyCall.jl build process, which tries to install numpy if not already available: https://github.com/JuliaPy/PyCall.jl/blob/bcaba00d1e2c412b2f61d33343ef5a9ab1b9258a/deps/build.jl#L79. |
Numpy is still being spuriously installed.
I haven't been involved with the julia effort in conda-forge, but this must not happen. If it cannot be solved through a build argument, then we have to patch something here. @mkitti - any experience with this issue? |
It's interesting that this warning doesn't occur on main: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=717729&view=logs&jobId=d0d954b5-f111-5dc4-4d76-03b6c9d0cf7e&j=d0d954b5-f111-5dc4-4d76-03b6c9d0cf7e&t=841356e0-85bb-57d8-dbbc-852e683d1642 |
Are you sure that this warning message is problematic? It seems to only show that warning in the testing stage: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=717759&view=logs&j=d0d954b5-f111-5dc4-4d76-03b6c9d0cf7e&t=841356e0-85bb-57d8-dbbc-852e683d1642&l=798 Some of these tests involve re-building, and building in temporary environments: pysr-feedstock/recipe/meta.yaml Lines 47 to 50 in 6b5be68
|
Umm... well numpy is a dependency of pysr, right? The julia-feedstock activate script should tell PyCall.jl and Conda.jl to look at the current conda environment. It should then realize that numpy is already installed, and not install a new one. What is happening here? |
It could be that this line is checking for numpy in the root environment, rather than the environment we are building/testing PySR in? i.e., here is the Conda.add("numpy") and here is a note about the default environment:
But I still don't understand how this should affect things, since these warnings are only displayed at the test stage? |
There's a likely explanation: Before, you were using the newest numpy version (1.24.3) to build, which very likely matched whatever julia was pulling in. Now the build is using 1.21 to build, and so the file delta in
The ClobberWarnings happen when the environment is created, which is before these test commands are ever run. Footnotes
|
Is there any "band-aid" fix I can apply to the build while I look into this out in the PyCall.jl side? (I don't suppose it would work as-is, would it?) Just something to fix it for users temporarily so they aren't stuck with this libstdc++ bug themselves. Maybe I can temporarily pin |
You have two choices, both user-unfriendly in some way:
Whatever choice you make to stop the bleeding now (which is fair enough), fixing this properly should be a high priority. Randomly re-installing numpy is baaaaaaaaaaaaaaaaaaaaaaad. Please don't do it. |
recipe/meta.yaml
Outdated
skip: true # [win] | ||
requirements: | ||
host: | ||
- python | ||
- pip | ||
- pyjulia >=0.6.0 | ||
- julia | ||
- numpy >=1.14.0 | ||
- numpy |
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.
If you want to go with option one, you should not revert the changes here, but additionally add the following:
- numpy | |
- numpy | |
# temporarily rebuilding with newest numpy because PyCall.jl ends up | |
# reinstalling it and we want to avoid spamming ClobberWarnings | |
# TODO: remove this as soon as numpy does not get spuriously installed here anymore | |
- numpy >=1.24.3 |
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.
Was the first numpy
key a typo? Or did you mean to add it two times when you said "additionally add"?
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.
(I think it was a typo; let me undo this...)
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.
No, it was not a typo, that's exactly why I said "additionally".
One line (the unpinned one) is for being up correctly by our infrastructure (conda smithy etc.) as I explained above. The other line is a temporary, additional constraint.
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.
I even emphasised additionally...
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.
My bad. I saw the jobs failing due to requirement errors: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=718646&view=logs&jobId=4f922444-fdfe-5dcf-b824-02f86439ef14&j=4f922444-fdfe-5dcf-b824-02f86439ef14&t=b2a8456a-fb11-5506-ca32-5ccd32538dc0 after committing this initial suggestion and just assumed it was a typo.
Thanks, that sounds good to me.
I agree! That this was even going on was news to me as well. Quite a deeply buried bug in the PyJulia infra. And I guess it makes sense we never saw any signal of this since we were building against the same numpy. |
Co-authored-by: h-vetinari <h.vetinari@gmx.com>
@conda-forge-admin, please rerender |
…nda-forge-pinning 2023.06.06.09.57.57
Fixes #83