当前位置: 首页 > 工具软件 > LAPACK > 使用案例 >

linux编译lapack,Linux下Lapack如何安装

常乐
2023-12-01

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

 类似资料: