我想从源代码安装BLAS,CBLAS,LAPACK和OpenBLAS库,可以在这里下载openblas和lapack , blas / cblas 。
首先,我删除了我的系统blas / cblas和lapack库,但不幸的是,atlas库不能卸载(我可以同时拥有blas和lapack或atlas – 不能删除它们)。 我没有打扰,并开始编译下载库,因为我认为安装后,我将能够删除图集。
构build过程基于本教程。 为了完整性,我将列出步骤:
OpenBLAS 。 编辑Makefile.rule(NO_CBLAS = 1,NO_LAPACK = 1,NO_LAPACKE = 1)文件后,我运行以下代码:
make FC=gfortran sudo make PREFIX=/usr/local/ install
CBLAS 。 在编辑Makefile.in之后(除了-lpthread我需要添加-pthread标志):
make cd lib ar -x libcblas.a gfortran -lopenblas -shared -o libcblas.so *.o sudo cp libcblas.* /usr/local/lib/
LAPACK 。 编辑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
LAPACKE 。 我以下面的方式编辑了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
BLAS 。 我编辑了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系统,我已经安装了它们,这样我终于可以卸载图集。 任何想法如何做到这一点?
我的一般目标是正确设置OpenBLAS,所以我也想从源代码编译所有其他库。 我也想检查我的图书馆是否工作,或者我做错了什么。
另外我的长期目标是安装Arpack和SuperLU与OpenBLAS一起工作,然后安装Armadillo库(C ++)。
您可以使用LD_LIBRARY_PATH
环境变量。 刚添加到~/.barsrc
。 即
$ echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
注意:注意double >>不要删除以前的内容。
第二个选择是在/etc/ld.so.conf.d
添加路径。 即
$ echo /usr/local/lib > /etc/ld.so.conf.d/myblas.conf
你也可以检查这个问题的更多细节。