I'm trying to create a Python wheel that makes use of the BLAS and LAPACK C extensions. Compiling such package under Ubuntu requires of the following system packages:
libopenblas-dev
: (Open)BLAS development librariesliblapack-dev
: LAPACK development librariesliblapacke-dev
: C headers for LAPACK
This works nicely, but now I need to repeat the process under CentOS 5. The reason being I'm trying to create a manylinux wheel, and a recommended way seems to be using an old CentOS toolchain to guarantee it will work under different linux distributions.
The problem is, while libopenblas-dev
and liblapack-dev
have equivalences in CentOS 5 (openblas-devel
and lapack-devel
), there is no equivalent package for liblapacke-dev
. This makes some sense considering the LAPACK version provided in those packages is very old (3.0), which doesn't seem to support lapacke. But because of that I'm unable to compile my software, as gcc complains about missing lapacke.h headers.
Things I have tried:
- Manually downloading and compiling a newer LAPACK version (3.8.0 and 3.6.0). I get compilation errors.
- Directly copying the lapacke.h header from one of the LAPACK versions above to /usr/include. Didn't work, probably because of the difference in LAPACK versions.
- Adding Intel MKL repositories following the official instructions and replace BLAS/LAPACK by MKL. Unfortunately CentOS 5 does not include the
--add-repo
option inyum-config-manager
, so I'm a bit at a loss here.