我正在尝试创建一个使用 BLAS 和 LAPACK C 扩展的 Python 轮子。在 Ubuntu 下编译此类包需要以下系统包:
libopenblas-dev
: (Open)BLAS 开发库liblapack-dev
: LAPACK 开发库liblapacke-dev
: LAPACK 的 C 标头
这很好用,但现在我需要在 CentOS 5 下重复这个过程。原因是我正在尝试创建一个 manylinux 轮子,推荐的方法似乎是使用旧的 CentOS 工具链来保证它可以在不同的 linux 发行版下工作.
问题是,虽然在 CentOS 5(libopenblas-dev
和)中有等价物,但. 考虑到这些软件包中提供的 LAPACK 版本非常旧(3.0),这似乎是有道理的,它似乎不支持 lapacke。但正因为如此,我无法编译我的软件,因为 gcc 抱怨缺少 lapacke.h 头文件。liblapack-dev
openblas-devel
lapack-devel
liblapacke-dev
我尝试过的事情:
- 手动下载和编译更新的 LAPACK 版本(3.8.0 和 3.6.0)。我得到编译错误。
- 直接将 lapacke.h 标头从上述 LAPACK 版本之一复制到 /usr/include。没用,可能是因为 LAPACK 版本的不同。
- 按照官方说明添加英特尔 MKL 存储库,并将 BLAS/LAPACK 替换为 MKL。不幸的是 CentOS 5 不包含 中的
--add-repo
选项yum-config-manager
,所以我在这里有点不知所措。