-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
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
configuring numpy 1.16.5 fails on FreeBSD with OpenBlas #15389
Comments
|
Seems reasonable. Would you like to open a PR? It should have the label "BLD: catch link error" or so. |
|
Sure. Which branch whould I base the PR on? maintenance/1.16.x or master? |
|
@rsmith-nl unless it only affects a release version, everything goes through master first and is then backported. |
When system_info.py is trying to find cblas as libblas, there can be a different library called libblas that doesn't contain the referenced function cblas_ddot. This raises a distutils.errors.LinkError, which is currently not caught. This patch fixes numpy#15389. The system_info in master was reworked for 1.17, and doesn't have this issue.
|
The master branch's system_info.py was reworked and doesn't have this bug. So I based my PR on the 1.16 maintenance branch. |
|
@rsmith-nl Master will be Numpy 1.19, and we don't plan any more releases for 1.16 or 1.17. If the bug is still in 1.18, there will be a 1.18.2, so that is likely the first official release that could have the fix. For earlier releases I would suggest FreeBSD maintain their own patch. I might could be talked into another 1.16 if FreeBSD really wants to support the last Python2.7 release. |
|
On Thu, Jan 23, 2020 at 12:37:25PM -0800, Charles Harris wrote:
***@***.*** Master will be Numpy 1.19, and we don't plan any more
releases for 1.16 or 1.17. If the bug is still in 1.18, there will be a
1.18.2, so that is likely the first official release that could have the
fix.
Since system_info.py was reworked in 1.17, only 1.16 has this issue.
For earlier releases I would suggest FreeBSD maintain their own patch.
It was just merged into the ports tree. :-)
I might could be talked into another 1.16 if FreeBSD really wants to
support the last Python2.7 release.
As luck would have it, that issue was raised today on the FreeBSD bugzilla.
In the FreeBSD ports tree, python 2.7 will expire at the end of this year. (It
has been marked as deprecated already.)
Since we support building numpy with three different blas libraries (atlas,
netlib and openblas), this is not one of our easiest ports.
Keeping numpy in the ports tree at 1.16 until python 2.7 expires is probably
the easiest thing to do. We'll see how the discussion goes.
Roland
--
R.F.Smith http://rsmith.home.xs4all.nl/
[plain text email much appreciated] https://github.com/rsmith-nl/
|
|
I went ahead and merged your patch, you can always build from the branch if there is not another release of 1.16. Maintenance of 1.16 is available if anyone is interested. Closing this but feel free to initiate more discussion. |
|
Note that NumPy 1.19 will not support Python3.5. |
This issue can also be found in the FreeBSD bugzilla.
There it was suggested to open an issue here.
TL;DR
This is the error (only the last part shown for clarity).
This is the relevant code from system_info.py:
If linking with “cblas” fails, it tries again by linking with “blas”.
However, the last “except” only handles a compilation error but not a linking error.
When we change:
to
the problem is fixed.
Reproducing code example:
On a FreeBSD system with an up-to-date ports tree installed:
Error message:
Numpy/Python version information:
(the above versions were generated with a fixed build of numpy.)
The text was updated successfully, but these errors were encountered: