BLAS、ATLAS、LAPACK 共享库最小示例

BLAS, ATLAS, LAPACK Shared library minimal example

我通过

安装了 atlas、blas 和 lapack x86_64 包
yum install atlas.x86_64 blas.x86_64 lapack.x86_64

在 Redhat 6.6 (ii) 发行版上,它安装了一个共享库,但在编译和链接时遇到问题。例如,如果我尝试编译最小工作示例:

program main
  print *, 'hello world'
end program main

使用

gfortran -L. main.f90 -llapack -lblas -o main

编译器找不到库,我收到错误消息:

/usr/bin/ld: cannot find -llapack
collect2: ld returned 1 exit status 

我对 Fortran 和 linux 比较陌生,所以我可能遗漏了一些明显的东西。从源代码编译库也失败了,我也浪费了时间。

不胜感激。

您需要安装这些软件包的 *-devel 版本。

例如,我有一个虚拟的 Fedora 17 系统:

$ cat main.f90
program main
  print *, 'hello world'
end program main
$ gfortran -L. main.f90 -llapack -lblas -o main
/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lblas
collect2: error: ld returned 1 exit status
$ sudo yum install atlas.x86_64 blas.x86_64 lapack.x86_64
...
Installed:
  blas.x86_64 0:3.4.2-2.fc17            lapack.x86_64 0:3.4.2-2.fc17           

Complete!
$ gfortran -L. main.f90 -llapack -lblas -o main
/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lblas
collect2: error: ld returned 1 exit status
$ sudo yum install atlas-devel.x86_64 blas-devel.x86_64 lapack-devel.x86_64
...
Installed:
  atlas-devel.x86_64 0:3.8.4-3.fc17       blas-devel.x86_64 0:3.4.2-2.fc17     
  lapack-devel.x86_64 0:3.4.2-2.fc17     

Complete!
$ gfortran -L. main.f90 -llapack -lblas -o main
(Success)