Linux下Lapack如何安装

lapack是以blas为基础的,所以安装lapack后,也会安装好blas。

之前在ubuntu下用新立得安装lapack,之后再安装phg时可以自动识别出BLAS/LAPACK库,而在centos下通过yum install 安装lapack后,phg在配置时不能识别出BLAS/LAPACK库,只能从LAPACK官网下载源码自己进行编译。

1>. 将源码解压至 /usr/local/src/ 中

2>. cd /usr/local/src/lapack-3.5.0

3>. 将make.inc.example 改名为 make.inc:cp make.inc.example make.inc

4>. 用gedit编辑make.inc: gedit make.inc

做如下修改:

. . . . . . . . . 
FORTRAN  = g77
OPTS     = -funroll-all-loops -O3
DRVOPTS  = $(OPTS)
NOOPT    =
LOADER   = g77
LOADOPTS =
. . . . . . . . .

修改为:(不过话说lapack-3.5.0版本的make.inc中内容就是 FORTRAN  = gfortran 所以不用修改。。。)
. . . . . . . . . 
FORTRAN  = gfortran
OPTS     = -funroll-all-loops -O3
DRVOPTS  = $(OPTS)
NOOPT    =
LOADER   = gfortran
LOADOPTS =
. . . . . . . . .

保存。


5>. gedit Makefile

如果之前没安装blas,做如下修改:

include make.inc


all: lapack_install lib lapack_testing blas_testing
 
lib: lapacklib tmglib
#lib: blaslib lapacklib tmglib
 
clean: cleanlib cleantesting cleanblas_testing
. . . .

修改为:

include make.inc
 
all: lapack_install lib lapack_testing blas_testing
 
#lib: lapacklib tmglib
lib: blaslib lapacklib tmglib
 
clean: cleanlib cleantesting cleanblas_testing
. . . .

保存。


6>. make

此时可能会提示如下错误:

/bin/sh: ./testsecond: not found
/bin/sh: ./testdsecnd: not found
/bin/sh: ./testversion: not found
make: *** [lapack_install] 错误 127

解决方法如下

make.inc中的timer没有正确指定。
要看你的编译器把etime这个函数处理成intrinsic,还是external。
实在不行选none


7>. make之后会产生 liblapack.a, librefblas.a, libtmglib.a 3个静态链接库,复制这3个文件到 /usr/lib 和 /usr/local/lib并改名为 liblapack.a, libblas.a, libtmglib.a ,注意,这里一定要改名,当初我就是直接复制过去没改名,所以phg配置时一直不能识别 BLAS/LAPACK,当改完名后再配置就可以识别了。



参考了一篇帖子:http://bbs.pfan.cn/post-242326.html?page=3






你可能感兴趣的:(Ubuntu)