linux编译lapack,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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值