linux下armadillo安装,包括blas/openblas/atlas/lapack/arpack

57 篇文章 2 订阅

首先下载armadillo:http://arma.sourceforge.net/download.html,我下载的是armadillo-8.400.0.tar.xz,将其解压:

tar xf armadillo-8.400.0.tar.xz

得到armadillo-8.400.0目录,按readme.txt说明安装,执行如下命令:

cd armadillo-8.400.0
.make
make
sudo make install

然后到examples目录,make编译example1,运行看是否正常

cd examples
make
./example1
正常会打印一些矩阵,但也有报错

error: det(): use of ATLAS or LAPACK needs to be enabled

我们查看CMakeCache.txt发现一些类似如下的NOTFOUND提示:

ARPACK_LIBRARY:FILEPATH=ARPACK_LIBRARY-NOTFOUND

如果需要ATLAS、LAPACK等则需要安装,我们到 https://pkgs.org 寻找相关的安装包,这个网站提供各种系统的安装包,搜索下载即可。我下载了如下包,注意一定要下载对应系统版本的,我下载的Centos7的。后三个包要依序安装。


后来编译程序遇到错误:undefined reference to `clapack_dgetrf',未定位具体原因。到正常部署的机器的/usr/lib64下查看so文件的中的函数定义(命令:nm -Do *.so | grep dgetrf),发现没有clapack_dgetrf的定义,但发现openblas有好多dgetrf相关的函数,不管了,把openblas相关包安装上再说。接着安装了openblas相关包,问题解决。


安装命令:

sudo rpm -ivh blas-devel-3.4.2-8.e17.x86_64.rpm
这些包安装完成后,再重新进入armadillo-8.400.0,删除CMakeCache.txt,重新安装一遍,并重新编译运行example1,应该没有问题了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值