我想使用可用的软件包从源代码安装 BLAS、CBLAS、LAPACK 和 OpenBLAS 库,您可以在此处下载openblas和lapack、blas/cblas。
首先,我删除了我的系统 blas/cblas 和 lapack 库,但不幸的是无法卸载 atlas 库(我可以同时拥有 blas 和 lapack 或 atlas - 无法将它们全部删除)。我没有打扰并开始编译下载的库,因为我认为安装后我可以删除图集。
构建过程基于本教程。为了完整起见,我将列出步骤:
打开BLAS。编辑 Makefile.rule (NO_CBLAS=1, NO_LAPACK=1, NO_LAPACKE=1) 文件后,我运行以下代码:
make FC=gfortran sudo make PREFIX=/usr/local/ install
哥伦比亚广播公司。编辑 Makefile.in 后(除了 -lpthread 我需要添加 -pthread 标志):
make cd lib ar -x libcblas.a gfortran -lopenblas -shared -o libcblas.so *.o sudo cp libcblas.* /usr/local/lib/
包。编辑 make.inc 文件后:
make lapacklib mkdir tmp cd tmp cp ../liblapack.3.6.0.a . ar -x liblapack.3.6.0.a gfortran -lopenblas -lcblas -shared -o liblapack.3.6.0.so *.o sudo cp liblapack.3.6.0.* /usr/local/lib cd /usr/local/lib sudo ln -sn liblapack.3.6.0.a liblapack.a sudo ln -sn liblapack.3.6.0.so liblapack.so
拉帕克。我通过以下方式为 gcc 编辑了 make.inc 文件:
CC = gcc CFLAGS = -O3 -march=native -m64 -fomit-frame-pointer -fPIC
然后我运行:
make lapackelib mkdir tmpe cd tmpe cp ../liblapacke.a . ar -x liblapacke.a gfortran -lopenblas -lcblas -shared -o liblapacke.so *.o sudo cp liblapacke.* /usr/local/lib
布拉斯。我编辑了 make.inc 文件:
FORTRAN = gfortran OPTS = -O3 -march=native -m64 -fomit-frame-pointer -fPIC DRVOPTS = $(OPTS) NOOPT = -O0 -fPIC LOADER = gfortran LOADOPTS = -lopenblas -lcblas
并运行:
make gfortran -lopenblas -shared -o libblas.so *.o sudo cp libblas.* /usr/local/lib/
现在我的静态库和共享库都放在 /usr/local/lib 目录中,我想以某种方式告诉我的 linux mint 17.2 系统我已经安装了它们,所以我最终可以卸载 atlas。任何想法如何做到这一点?
我的总体目标是正确设置 OpenBLAS,所以我也想从源代码编译所有其他库。我还想检查我的库是否正常工作,或者我做错了什么。
此外,我的长期目标是安装 Arpack 和 SuperLU 与 OpenBLAS 一起使用,然后最终安装 Armadillo 库 (C++)。