微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

配置时找不到Fortran编译器

如何解决配置时找不到Fortran编译器

我正在尝试在Mac(10.15.7)上安装一些代码。我按照指示进行操作

No suitable fortran compiler found (cause: 'cannot determine ifort version. (complete log in /Users/joe/Documents/Research/code/plc_3.0/plc-3.01/build/config.log)') The configuration Failed (complete log in /Users/joe/Documents/Research/code/plc_3.0/plc-3.01/build/config.log)

但是我明白了

which ifort

/usr/local/bin/ifort给出

ifort -v

ifort version 19.1.1.216给出

Checking for program 'ifort' /opt/anaconda3/envs/py38/bin/x86_64-apple-darwin13.4.0-gfortran find program=['ifort'] paths=['/opt/anaconda3/envs/py38/bin','/opt/anaconda3/condabin','/Library/Frameworks/Python.framework/Versions/3.8/bin','/usr/local/bin','/opt/local/bin','/Users/joe/Documents/Research/openmpi-3.0.0/oshmem/mca/scoll/mpi/bin','/opt/local/sbin','/usr/bin','/bin','/usr/sbin','/sbin','/Library/TeX/texbin','/Library/Apple/usr/bin'] var='FC' -> ['/opt/anaconda3/envs/py38/bin/x86_64-apple-darwin13.4.0-gfortran'] ['/opt/anaconda3/envs/py38/bin/x86_64-apple-darwin13.4.0-gfortran','-logo'] err: ld: library not found for -logo collect2: error: ld returned 1 exit status from /Users/joe/Documents/Research/code/plc_3.0/plc-3.01: cannot determine ifort version. from /Users/joe/Documents/Research/code/plc_3.0/plc-3.01: The configuration Failed

所引用的config.log的最后一部分是

{{1}}

解决方法

日志说了不同的话:

  • waf在您的默认路径中寻找了ifort

    • /opt/anaconda3/envs/py38/bin
    • /opt/anaconda3/condabin
    • /Library/Frameworks/Python.framework/Versions/3.8/bin
    • /usr/local/bin
    • /opt/local/bin
    • [...]
  • waf已经找到了一个实际上为/opt/anaconda3/envs/py38/bin/x86_64-apple-darwin13.4.0-gfortran的fortran编译器,但是在执行时,它找不到一个libogo库。它在错误的位置找到了它,因为/usr/local/bin/opt/anaconda3/envs/py38/bin在路径列表中。

要更改路径列表,可以在名为path_list的waf文件中使用find_program函数的参数wscript

但是更简单的方法可能是在调用waf时更改PATH:

PATH="/usr/local/bin:$PATH" ./waf configure --install_all_deps

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。