-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Only ship libgfortran #3
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 ( |
This works fine for me locally. I have tried building a binary and using it in a container without |
This needs a rebase now. |
Yep, kind of made it that way intentionally. 😉 Will do that now. |
Rebased. 😄 |
If I understand correctly, there will now be two |
Right that is the tricky thing. It is in the Edit: This comment said |
That sounds OK to me. I'm just asking because it wasn't quite clear, and even if I knew how to figure this out from the included packages I'd probably forget again later on. Is this kind of stuff in a few people's heads right now, or is there documentation in a central place somewhere? |
The Now I realized I said Something else we might consider is running |
This looks pretty good to me. 👍 |
Right, I see it now in |
Alright, if we are happy with it, I'd be happy to see it merged. Though I think we should merge PR ( #4 ) first. |
So this fixes the goal of avoiding shipping libstdc++ on Linux, but doesn't solve the problem for OSX, right? |
Correct.
I decided to split this problem out over 2 PRs. That one ( #2 ) has already been accepted. Though I may need to go back and do some cleanup. This is probably another special case where we need to think about how to improve the |
Though if you are referring to the larger case of only shipping |
Do you want to bump the version number @jakirkham? |
Yes I do. 🤦 Fixing it now. |
Let's hold off on this until we can do the same for OS X (which should be soon). |
👍 |
I have added I would strongly prefer to see PR ( #4 ) merged first as I don't want to run the risk of having a possibly broken OS X package if it can be avoided. |
Also, while not strictly necessary, I would like to have |
I'm OK to merge this @jakirkham. Is there a reason it is WIP? |
Basically getting those other PRs in and OpenBLAS rebuilt. Also, wanted to retest this once OpenBLAS was built as it had been pulling in For extra validation, I have also put up PR ( conda-forge/numpy-feedstock#18 ) and PR ( conda-forge/numpy-feedstock#19 ) to verify the same behavior I saw locally that Once all of these pass, we should be fine to merge. |
So both of the |
Assuming no further feedback. This is ready to go on my end. |
@pelson, care to do the honors? |
Thanks @pelson. Hopefully this makes things a little easier on people. |
Great job @jakirkham. Thanks for doing this. |
This is now released! 🎇 🍻 |
Currently, we are shipping the whole
libgcc
package on Linux and OS X withscipy
. This has proved problematic in our stack especially as was seen withnumpy
( conda-forge/numpy-feedstock#15 ). However, unlike withopenblas
we cannot simply just shiplibgfortran
asscipy
has C++ code and thus depends onlibstdc++
. Given the shipping oflibstdc++
was the cause of the issues with code depending onnumpy
, it is tricky to find an easy fix here.There are two main options to avoid shipping
libstdc++
. First, try to usegfortran
andlibgfortran
from thegcc
package only and otherwise use the image compilers and libraries. Second, try to use system compilers for the whole process, but have everything link to ourlibgfortran
instead. Attempts to get the first point to work withopenblas
proved tricky and we were unable to get it to work. So, we are skipping that option and going for the second one instead. Hopefully we can evaluate the effectiveness of this strategy and move forward from there.Fortunately the OS X situation is straightforward. We switched over to
clang
and thuslibc++
in PR ( #2 ). So we are not tied tolibstdc++
. Thus it is merely a matter of having alibgfortran
package on OS X. This is handled by PR ( conda-forge/staged-recipes#1022 ), which creates such a package by pulling out the needed libraries on OS X.