【问题标题】:/usr/bin/ld: cannot find -llapack/usr/bin/ld: 找不到 -llapack
【发布时间】:2014-11-20 06:33:33
【问题描述】:

我正在寻求安装 ubuntu 14.04 的帮助。我正在我的电脑中安装一个软件包。他们有他们的makefile。我必须运行 make。

当我发现错误时......

gfortran -O2 -fopenmp -msse2 -o nmbnd.run p_nmbnd.o i_main.o m_getwsr.o ../IOLIB/*.o ../ATOM/*.o ../BNDASA/*.o ../EXTENS/*.o ../FINDES/*.o ../LATTICE/*.o ../SAMPLE/*.o ../TETRA/*.o ../IOCTRL/*.o ../LMIO/*.o ../MAINA/*.o ../NMTO/*.o ../SYM/*.o ../TBSTR/*.o ../CHAPOT/*.o  -L/usr/share/doc/liblapack -llapack -L/usr/share/doc/libblas -lblas 
/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lblas
collect2: error: ld returned 1 exit status
make[2]: *** [nmbnd.run] Error 1
make[2]: Leaving directory `/home/santuphys/NMTO-47.ZB.28/06.gfort/MAIN'
make[1]: *** [cleanmake] Error 2
make[1]: Leaving directory `/home/santuphys/NMTO-47.ZB.28/06.gfort/MAIN'
make: *** [ooo.dep] Error 2

我尝试了此论坛中有关链接的所有其他类似问题,但无法解决。我在我的电脑中指定了LapackLblas 的路径,还写了...

LAPACK_LIB=   -L/usr/lib/ -llapack  -lblas

它没有工作。请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 是否安装了 lapack 和 lblas 包?你能找到文件 /usr/lib/libblas.so 和 /usr/lib/liblapack.so 吗?
  • 对我来说,这成功了:sudo apt-get install libblas-dev liblapack-dev

标签: linux


【解决方案1】:

在 Ubuntu 14.04 上,确保您拥有软件包

  • liblapack-dev
  • liblapack3
  • libopenblas-base
  • libopenblas-dev

已安装。之后,“-L/usr/lib -llapack -lblas”应该可以工作了。另请注意,正如另一个答案中已经提到的那样,在您显示的输出中,您有“-L/usr/share/doc/liblacpack -L/usr/share/doc/libblas”,这肯定不是您想要的。

【讨论】:

  • ubuntu 单线版,适合懒人sudo apt-get install liblapack-dev -y ; sudo apt-get install liblapack3 -y ; sudo apt-get install libopenblas-base -y ; sudo apt-get install libopenblas-dev -y ;
  • 节省时间!如果遇到问题,您可能需要在之前运行 apt-get update 或在之后运行 apt-get -f install。
  • sudo apt install liblapack-dev libopenblas-dev 够 16.04
  • 这只是我的部分解决方案(尝试编译 R 包,即“qwraps2”)。在应用了下面提出的解决方案后,我成功了,关于缺少 libgfortran.so 的符号链接的解决方案
【解决方案2】:

只需安装包含 liblapack.so.* 和 libblas.so.* 库的软件包。 如果您确定这些软件包已经安装 - 只需通过以下方式找到它们: 找到 / -name 'liblapack*' 并使用 -L/path/to/liblapack 将该路径添加到 gcc。

edit:在您调用 fortran 编译器时,有一些带有 -L 的目录 - 但您确定所需的库位于 documentation 目录中: -L/usr/share/doc/liblapack -L/usr/share/doc/libblas ?

【讨论】:

    【解决方案3】:

    我的错误是这样的:

    /usr/bin/ld: 找不到-lgfortran

    我在here这个帖子之后解决了这个问题

    sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so /usr/lib/libgfortran.so
    

    注意我知道这是一个旧帖子。但是我花了很多时间来解决这个问题,最后,它非常简单。我希望其他有同样问题的人能很快解决这个问题。

    【讨论】:

    • 另外,要获取库的位置,可以使用“locate gfortran.so”
    • 非常有帮助,不仅我需要安装 libgfortran-5-dev (Ubuntu 18.04),而且上面的符号链接确实是编译工作所必需的。
    猜你喜欢
    • 2021-05-07
    • 2011-07-16
    • 2012-05-17
    • 2020-04-14
    • 2012-03-26
    • 2018-12-13
    • 2015-09-22
    • 2020-01-19
    • 2012-01-14
    相关资源
    最近更新 更多