在 Linux 系统中安装 LAPACK(Linear Algebra PACKage)通常有几种方式,具体取决于你的需求:是只需要运行时库(用于运行程序),还是需要编译库(用于开发或编译自己的代码),亦或是需要高性能的 BLAS/LAPACK 实现(如 OpenBLAS、MKL)。
以下是几种常见且推荐的方法:
通过包管理器安装(最简单,推荐大多数用户使用)
大多数 Linux 发行版都提供了 LAPACK 的预编译包,这通常包含基本的 LAPACK 库以及依赖的 BLAS 库。
Ubuntu / Debian
# 安装 LAPACK 开发库(包含头文件和静态/共享库) sudo apt update sudo apt install liblapack-dev # 如果只需要运行时库 sudo apt install liblapack3
CentOS / RHEL / Fedora
# CentOS/RHEL 7/8/9 sudo yum install lapack-devel # Fedora sudo dnf install lapack-devel
Arch Linux
sudo pacman -S lapack
注意:基础 LAPACK 包通常依赖于系统默认的 BLAS 实现(如 OpenBLAS 或 ATLAS),如果你追求高性能,建议使用方法二。
安装高性能替代方案(OpenBLAS 或 MKL)
在生产环境或科学计算中,通常建议使用 OpenBLAS 或 Intel MKL
作为 BLAS/LAPACK 的高性能后端,因为它们针对多核 CPU 进行了优化。
安装 OpenBLAS(开源,免费,推荐)
OpenBLAS 同时提供 BLAS 和 LAPACK 接口。
# Ubuntu/Debian sudo apt install libopenblas-dev # CentOS/RHEL sudo yum install openblas-devel # Fedora sudo dnf install openblas-devel
在你的代码中链接时,通常链接 -lopenblas 即可,它内部已包含 LAPACK 功能。
安装 Intel MKL(高性能,需许可证)
如果你使用的是 Intel 编译器或需要极致性能,可以使用 Intel Math Kernel Library。
# 通常需要通过 Intel OneAPI 或单独下载 MKL 安装 # 示例:通过 conda 安装(见方法四)
从源码编译安装(适合需要自定义配置)
如果你需要特定版本或自定义优化选项,可以从源码编译。
下载源码
访问 LAPACK 官网 下载最新 .tgz 文件。
wget http://www.netlib.org/lapack/lapack-3.12.0.tgz tar -xzf lapack-3.12.0.tgz cd lapack-3.12.0
配置编译
LAPACK 依赖于 BLAS,你可以使用系统 BLAS 或自己编译 BLAS。
# 复制模板配置文件 cp make.inc.example make.inc # 编辑 make.inc,设置编译器(如 gcc/gfortran)和优化标志 nano make.inc
典型 make.inc 设置:
FORTRAN = gfortran OPTS = -O2 DRVOPTS = $(OPTS) NOOPT = LOADER = gfortran LOADOPTS =
编译和安装
# 编译 LAPACK make # 安装到系统目录(可选) sudo make install
提示:从源码编译 LAPACK 较为复杂,建议优先使用包管理器或 OpenBLAS。
使用 Conda 安装(Python/科学计算用户推荐)
如果你使用 Python 进行科学计算,强烈建议使用 Conda,因为它会自动处理所有依赖关系(BLAS/LAPACK)。
# 创建新环境 conda create -n myenv python=3.9 conda activate myenv # 安装包含 LAPACK 的科学计算包(如 numpy, scipy) conda install numpy scipy # 或者单独安装 lapack conda install -c conda-forge lapack
Conda 会自动链接到优化过的 BLAS/LAPACK 库(通常是 OpenBLAS 或 MKL)。
验证安装
检查库文件是否存在
# 查找 LAPACK 库文件 ldconfig -p | grep lapack # 或 find /usr/lib -name "lapack"
使用 C/C++ 测试
创建一个简单的测试文件 test_lapack.c:
#include <stdio.h> #include <lapacke.h> int main() { // 简单的 LAPACK 函数调用示例(此处仅为示意) printf("LAPACK is available!n"); return 0; }
编译命令:
gcc test_lapack.c -llapacke -llapack -lblas -o test_lapack ./test_lapack
使用 Python 测试
import numpy as np
print(np.__version__)
# 检查 numpy 是否链接了正确的 BLAS/LAPACK
import numpy.distutils.system_info as sysinfo
print(sysinfo.get_info('lapack_opt'))
总结建议
| 用户类型 | 推荐方法 | 原因 |
|---|---|---|
| 普通用户/初学者 | apt install liblapack-dev 或 yum install lapack-devel |
简单快捷,无需配置 |
| 科学计算/Python 用户 | conda install numpy scipy |
自动优化,避免依赖冲突 |
| 高性能计算需求 | 安装 OpenBLAS 或 Intel MKL |
多核优化,速度更快 |
| 开发者/自定义需求 | 从源码编译 | 完全控制编译选项和版本 |
如有具体发行版或应用场景(如 CUDA、MPI 等),请提供更多信息,我可以给出更详细的指导。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/476759.html



