链接lapack问题

时间:2012-05-18 19:55:37

标签: compilation makefile fortran lapack gfortran

我正在尝试编译一个使用lapack的程序。

首先,我通过在此链接上使用'sudo apt-get install'安装所有软件包来安装lapack: https://launchpad.net/ubuntu/precise/+source/lapack

我正在尝试编译此页面上的代码: http://www.nag.com/lapack-ex/examples/source/dgbsv-ex.f

我从以下程序获得此程序: http://www.nag.com/lapack-ex/lapack-ex.html

我尝试通过输入

来编译程序
$gfortran dbgsv-ex.f -llapack -lblas

进入终端

我收到了一堆错误消息,所有形式

/usr/lib/gcc/i686-linux-gnu/4.6/../../../../lib/liblapack.so: undefined reference to         
`ATL_strsv'

即。错误消息以ATL_xxxx结尾。另请注意,当我查看/usr/lib/时,我会看到一个名为liblapack.so

的文件

1 个答案:

答案 0 :(得分:1)

正如其他评论已经指出的那样,您的系统具有LAPACK的ATLAS实现。库链接的正确顺序(对于ATLAS的非线程版本)将是:

-llapack -lf77blas -lcblas -latlas

另请注意,您的Fortran代码似乎也包含NAG库(x04cef)中的例程,因此您还必须链接NAG库。