代码之家  ›  专栏  ›  技术社区  ›  Luap Nalehw

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

  •  1
  • Luap Nalehw  · 技术社区  · 9 年前

    我通过安装了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相对比较陌生,所以我可能遗漏了一些明显的东西。我花了几个小时从源代码编译库,但也没有成功。

    非常感谢指点者。

    1 回复  |  直到 9 年前
        1
  •  3
  •   MatCross    9 年前

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

    E、 例如,我用了一个虚拟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)