-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Our numpy uses the default channel gcc via openblas #15
Comments
The problem is just about every BLAS I know has Fortran code. Also, the standard LAPACK distribution (included with OpenBLAS) is Fortran. The one exception would be BLIS. However, BLIS is too immature for us to rely upon at this point. Hence we had to use
I can try to take a look at the recipe, but I don't think I will have time to do it today.
Alright, as long as you have a way to get things to work that is your call.
This is probably more concerning and may mean that we are running into a different problem and the above was merely a symptom of this. Could you please include a reference to relevant logs that show these problems so that we can get some idea of what is happening? |
Just to clarify, what I'm seeing on OSX is that C++ packages built against numpy (or anything else pulling in Packages like What makes this hard to pin down is that programs link happily and even load OK, but it is when you start doing some processing that things crash, no doubt due to incompatibilities between these library versions. Would it be possible to split just the Fortran libs out of |
Or we add |
So, this is a tricky issue. It is definitely worthy of investigation, but there are a number of things that need to be considered. For instance, static linking to any However, it sounds like we are going to change how we deal with compilers again following a meeting yesterday. Basically, Continuum is going to start building There has been a separate discussion that has occurred over time and again at yesterday's meeting of breaking up In the near term, I can certainly re-explore how we are building OpenBLAS. When I had been building it pre-conda-forge, I built all of the C/C++ portions with |
Sorry, guys, I have tried everything I can do with OpenBLAS and there is no way forward at present. We cannot remove the C/C++ compiler portions and it doesn't matter even if we could. On Mac, OpenBLAS is only linked to However, I doubt any of this is the real problem for you. Having a newer version of While I am concerned that you find yourselves linked to the system I'm not sure what the issue is here, but it if really relates to |
The problem (I think) is when So you can end up with one library calling another, passing C++ objects but using different versions of the runtime library. Invariably there will be incompatibilities (and crashes). If there was a way of never having It's not that we are using a newer |
If you have access to a Mac, install |
Based on what you are now saying I don't think the problem is which Also, side note, it appears on Mac |
I think you are jumping the gun here. The survey results are not final until Thursday. Depending on how they turn out, Continuum may need to have a separate compiler to fulfill our needs. It will be a happy coincidence if Continuum and conda-forge can use the same compiler and general compiler strategy, and thus pool effort, but it is not a foregone conclusion. Also, even if Continuum becomes the general source for a compiler, I propose that we take steps to make the package reproducible, using Debian's guidelines and whatever we can come up with on Mac. I hope that this compiler can be something not so much "from Continuum for the community", but rather something that Continuum would like to share with the community - the responsibility of building and providing, as well as decisions around the feature set and compile options. I encourage everyone interested in this issue to vote at http://goo.gl/forms/FMCT1bCNVg6ywpKD3 |
I'm basing that statement on the fact that @pelson wants to use the same strategy on both Mac and Linux platforms (which we seem to agree on) and the fact that we have also discussed the fact the |
Yes, having a package-based gcc (as opposed to strictly docker with system compilers) is what we decided, but we have not decided whether that package uses the devtoolset patch, or whether we ship runtimes. We also have not decided which version of GCC to commit to. Please vote. |
As far as this is concerned, I think we may be hitting point 2 in this PR ( conda/conda#2036 ). I don't see much way out of this at present. Interestingly running |
👍
I didn't try to get into the nitty gritty details. My main point with the issue they raised is we may have a mixture of Though you are of course correct there are details about the compiler that we are very interested in getting feedback on. |
The old GDAL: GDAL pulls these other libs in. OK so the solution is to rebuild (with If that is correct, I'll look at doing this later. |
Just to recap: conda-forge on OSX is broken. I think we need to come up with a plan to fix this ASAP. Since I think there are 2 options:
2 Seems like it would be a very big job and would impact |
So, I am able to use this NumPy with a plethora of things without problems including packages that use C++11 from conda-forge. I think there is a conflation of problems with As I still haven't seen clear reproducible problems, it is difficult to actually pin-point what they are. It would be nice if either @gillins or @ocefpaf could help me by doing this. Let's pin-point the problem before we start coming up with such proposals. It also seems there is some confusion about NumPy and OpenBLAS so I will try to simply explain this below. Please ask questions. First, if I inspect NumPy's linkages, this is what I find. Basically, it is not linked to
Second, Third, OpenBLAS are shown below. As we are not guaranteed to have
Now if we had a |
Unfortunately, some things pick up |
This should be easy to create by having a libgfortran package that is essentially a metapackage.
|
Certainly a possibility. Might want to do some testing to make sure this actually behaves ok on Mac. In any event, not really interested on going on a wild goose chase here. If we can please come up with a solid example that can repeatedly demonstrate the problem, then we would be in much better shape for determining how to go about fixing it. Right now, I remain unclear on what that problem is. |
OK my first point is that we shouldn't have more than one I think what is happening is that when Does this sound as bad to you as it does to me?? This isn't to do with whether @jakirkham I suspect the reason you haven't seen a problem is that all your packages are built with Does this make sense? |
While there are non-compliant packages that need to be fixed, my point remains that NumPy and OpenBLAS are not them. We should fix the non-compliant packages to be compliant if that is your question. Compliance has meant using Now, whether this has anything to do with the problem that you are experiencing is another question. This has really all been guess work up to this point. While I would like to help address it if I can, right now I still don't know of a reproducer. Would it be possible to come up with one? If not, I'm afraid that we still have no better idea of how or whether this will fix the issues you are running into. |
Two things you can do to reproduce this:
See conda-forge/rios-feedstock#4 |
@ocefpaf do you have other examples from the users that have contacted you? |
Thanks for the example, @gillins. |
So, we have rebuilt HDF5 to use |
After months of broken packages this is finally fixed! |
Even though we don't recommend the use of the default channel
gcc
, and some people here has advocated strongly against it in the past BTW, we added a recipe for openblas usinggcc
, and that made into conda-forge's numpy recipe.Unfortunately that became a problem for some feedstocks, like
rios
(see conda-forge/gdal-feedstock#72 (comment)), and I am getting reports of failing environments from many users. Not sure what is the best approach here as I lost most of theblas
.Right now I am recommending people do force install the
numpy
from the default channel.PS: I also see a strange behavior where
mkl
is installed anyways at run-time alongsidenumpy
withopenblas
.The text was updated successfully, but these errors were encountered: