lapack / blas / openblas从源代码正确安装 – 用新的replace系统库

我想从源代码安装BLAS,CBLAS,LAPACK和OpenBLAS库,可以在这里下载openblas和lapack , blas / cblas 。

首先,我删除了我的系统blas / cblas和lapack库,但不幸的是,atlas库不能卸载(我可以同时拥有blas和lapack或atlas – 不能删除它们)。 我没有打扰,并开始编译下载库,因为我认为安装后,我将能够删除图集。

构build过程基于本教程。 为了完整性,我将列出步骤:

  1. OpenBLAS 。 编辑Makefile.rule(NO_CBLAS = 1,NO_LAPACK = 1,NO_LAPACKE = 1)文件后,我运行以下代码:

    make FC=gfortran sudo make PREFIX=/usr/local/ install 
  2. 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/ 
  3. 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 
  4. 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 
  5. 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 

你也可以检查这个问题的更多细节。