setup.py does not work with NumPy manylinux1 wheel
Created by: siebenkopf
When I install a new virtual environment (using
bob.nightlies) by using the automatically downloaded NumPy wheel, I am not able to install bob.math in this environment. The error message that I get is:
$ virtualenv/bin/pip install bob.math ... LAPACK/BLAS configuration from NumPy: * system include directories: * defines: -DHAVE_CBLAS=None * linking arguments: * libraries: openblas * library directories: /usr/local/lib ... /usr/bin/ld: cannot find -lopenblas ...
After some investigations, I found that the reason is that the NumPy wheel is created using openBLAS:
which will result in the fact that the NumPy default options as used here:
are not working. After installing
bob.math compiles and installs, but when I try to use it, I get the error message:
$ virtualenv/bin/python >>> import bob.math OSError: virtualenv/local/lib/python2.7/site-packages/bob/math/libbob_math.so: undefined symbol: dsyevd_
Apparently, it still does not work, as openBLAS does not seem to come with a
My current solution is to force NumPy to be compiled from source, but this is not a good solution for people who are not very familiar with the installation process. A better solution would be to adapt the
setup.py accordingly, i.e., to use the LAPACK/BLAS configuration that is available on the system, and do not rely on the NumPy build.