<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Sat, Mar 26, 2016 at 3:06 PM Matthew Brett <<a href="mailto:matthew.brett@gmail.com">matthew.brett@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I'm workon on building manylinux wheels for numpy, and I ran into<br>
unexpected problems with a numpy built against the ATLAS 3.8 binaries<br>
supplied by CentOS 5.<br>
<br>
I'm working on the manylinux docker container [1]<br>
<br>
To get ATLAS, I'm doing `yum install atlas-devel` which gets the<br>
default CentOS 5 ATLAS packages.<br>
<br>
I then build numpy.  Local tests work fine, but when I test on travis,<br>
I get these errors [2]:<br>
<br>
======================================================================<br>
ERROR: test_svd_build (test_regression.TestRegression)<br>
----------------------------------------------------------------------<br>
Traceback (most recent call last):<br>
  File "/home/travis/build/matthew-brett/manylinux-testing/venv/lib/python2.7/site-packages/numpy/linalg/tests/test_regression.py",<br>
line 56, in test_svd_build<br>
    u, s, vh = linalg.svd(a)<br>
  File "/home/travis/build/matthew-brett/manylinux-testing/venv/lib/python2.7/site-packages/numpy/linalg/linalg.py",<br>
line 1359, in svd<br>
    u, s, vt = gufunc(a, signature=signature, extobj=extobj)<br>
ValueError: On entry to DGESDD parameter number 12 had an illegal value<br>
<br>
======================================================================<br>
FAIL: test_lapack (test_build.TestF77Mismatch)<br>
----------------------------------------------------------------------<br>
Traceback (most recent call last):<br>
  File "/home/travis/build/matthew-brett/manylinux-testing/venv/lib/python2.7/site-packages/numpy/testing/decorators.py",<br>
line 146, in skipper_func<br>
    return f(*args, **kwargs)<br>
  File "/home/travis/build/matthew-brett/manylinux-testing/venv/lib/python2.7/site-packages/numpy/linalg/tests/test_build.py",<br>
line 56, in test_lapack<br>
    information.""")<br>
AssertionError: Both g77 and gfortran runtimes linked in lapack_lite !<br>
This is likely to<br>
cause random crashes and wrong results. See numpy INSTALL.txt for more<br>
information.<br>
<br>
<br>
Sure enough, scipy built the same way segfaults or fails to import (see [2]).<br>
<br>
I get no errors for an openblas build.<br>
<br>
Does anyone recognize these?   How should I modify the build to avoid them?<br>
<br>
Cheers,<br>
<br>
Matthew<br>
<br>
<br>
[1] <a href="https://github.com/pypa/manylinux" rel="noreferrer" target="_blank">https://github.com/pypa/manylinux</a><br>
[2] <a href="https://travis-ci.org/matthew-brett/manylinux-testing/jobs/118712090" rel="noreferrer" target="_blank">https://travis-ci.org/matthew-brett/manylinux-testing/jobs/118712090</a><br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org" target="_blank">NumPy-Discussion@scipy.org</a><br>
<a href="https://mail.scipy.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.scipy.org/mailman/listinfo/numpy-discussion</a></blockquote><div><br></div><div>The error regarding parameter 12 of dgesdd sounds a lot like</div><div><a href="https://github.com/scipy/scipy/issues/5039">https://github.com/scipy/scipy/issues/5039</a> where the issue was that the LAPACK</div><div>version was too old. CentOS 5 is pretty old, so I wouldn't be surprised if that were</div><div>the case here too.</div><div>In general, you can't expect Linux distros to have a uniform shared object interface </div><div>for LAPACK, so you don't gain much by using the version that ships with</div><div>CentOS 5 beyond not having to compile it all yourself. It might be better to use a</div><div>newer LAPACK built from source with the older toolchains already there.</div><div>Best,</div><div>-Ian Henriksen </div></div></div>