-
-
Notifications
You must be signed in to change notification settings - Fork 36
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
Missing dependencies: compilers and C++ runtime #40
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 ( |
Should I rather remove |
So this is not limited to |
Yes, http://biocontainers.pro/. In Bioconda, nearly every Linux package is also packaged inside a Container with a minimal base system (https://github.com/galaxyproject/galaxy-lib/blob/17.9.10/galaxy/tools/deps/mulled/invfile.lua#L63). The build log in the OP, for instance, is from a pure Python package, which obviously doesn't need |
cc @conda-forge/bioconda-recipes |
We strive to minimize system dependencies as much as possible. So, if libgcc is available via conda, we would like to use it. This way, stuff also runs out of the box, e.g., in busybox containers. |
Right. Am remembering a similar discussion from before ( conda-forge/matplotlib-feedstock#71 ). Unfortunately adding That said, expect we could avoid this pain if we added Our plan to implement this is to move to conda-build 3 and then switch over to the newer compilers. On the conda-build 3 front, @isuruf and I worked this weekend on getting a conda-smithy rc out (currently 3.0.0.rc2), which works with conda-build 3 and contains a host of new features that should help with various issues package maintainers have run into (including better pinning management). Various other people have contributed significantly to this work (@msarahan in particular). If you have time to help us test out the new conda-smithy, that would really help us progress towards these common goals. Also feedback on things like the upgrade of core packages in conda-forge ( zlib as one example conda-forge/zlib-feedstock#18 ). Thoughts on what we pin and how tightly in our global pinning list would be very helpful. It would also be good to understand on what sort of time scale you are hoping to solve this problem. We might be able to devise a workaround in the interim. |
Ok, I think for now we can live with adding libgcc to downstream packages if needed. I am really looking forward to CB3 on conda-forge and bioconda. This will also help us with various problems. The global pinning package is a very good idea, and I think we will use it for bioconda as well. We will start porting bioconda-utils to CB3 in the next days. |
So we made some improvements such that the cc @bgruening |
@conda-forge-admin, please rerender |
Thanks @jakirkham. Yes, with the changes from https://github.com/conda-forge/toolchain-feedstock/pull/34/files#diff-e178b687b10a71a3348107ae3154e44cR8 this should pick up |
Thoughts @TomAugspurger? |
I'm not really sure, but the changes here seem sensible :) |
Understandable. The expected base system requirements for Bioconda are rather on the very far side regarding minimalism (only glibc plus some POSIX tools provided by BusyBox + Bash).
Well and with those changes the original issue is essentially void since the |
FWIW feel free to ignore files outside of the The main change is using the The |
I think for us (or at least for me, as pandas maintainer who is not an expert in those details) the main question is: is this nowadays thé recommended way by conda-forge to deal with a numpy build dependency ? |
Yes, the docs were updated recently to reflect that. FWIW the change with It is the plan to update everything to match, but it will take time. ref: https://conda-forge.org/docs/meta.html#building-against-numpy |
Thanks for the clarification, that's fine then! Just added some questions inline about specifying the minimum numpy version. |
cxx_compiler: | ||
- toolchain_cxx | ||
numpy: | ||
- '1.9' |
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.
should this be 1.11? (as for 3.6 we now build against 1.11)
cxx_compiler: | ||
- vs2008 | ||
numpy: | ||
- '1.11' |
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.
windows is now building against 1.11 instead of 1.9 before?
Is there anything remaining (other than fixing the merge conflicts) that needs to be done for this PR? I had a user run into the missing libstdc++ issue that this would fix today. |
I think rebuilding this with cb3 should fix it. |
@conda-forge-admin, please rerender |
@jorisvandenbossche, the Sorry for the out-of-diff comment. On mobile. |
We'll defer to the conda experts here. There's currently a CI failure:
|
I think we'll want to merge in master though. We have had a release or two since this was opened. |
The recipe lacks C/C++ compilers in its build requirements and most importantly, in its run requirements, a C++ runtime library it's being linked to:
https://circleci.com/gh/bioconda/bioconda-recipes/3805
From looking at other recipes, I assumed you always use the system's compilers, right?
Also I couldn't find references about when
libcxx
is used on conda-forge.I deliberately didn't add the
vc*
features
, because of conda-forge/conda-forge.github.io#537.But feel free to do any modifications to this PR as you see fit!