【问题标题】:Installing Cantera 2.1 on OSx 10.9 Mavericks在 OSx 10.9 Mavericks 上安装 Cantera 2.1
【发布时间】:2014-02-15 13:09:52
【问题描述】:

要在我的 macbook pro 上安装 cantera 2.1,我遵循 Bok Jik Lee 最近在他的博客上发布的程序: Installing Cantera 2.1 on OSx 10.9 Mavericks

到目前为止一切正常,但是当我来到第 9 点时出现错误:“安装 Cantera”

将当前位置更改为我输入的 canters-2.1 文件夹后

scons build prefix='/usr/local/opt/cantera' python_compiler='clang++ -stdlib=libc++ -mmacosx-version-min=10.7' sundials_include='/usr/local/opt/sundials/2.5.0/include' sundials_libdir='/usr/local/opt/sundials/2.5.0/lib'

这些命令一直有效,直到出现以下错误:

ld: library not found for -lgfortran

clang: error: linker command failed with exit code 1 (use -v to see invocation)

scons: *** [build/lib/libcantera_shared.dylib] Error 1

scons: building terminated because of errors.

此错误之前的最后一行如下:

build/src/clib/ctxml.os -Lbuild/lib -L/usr/local/opt/sundials/2.5.0/lib -L/usr/local/opt/sundials/2.5.0/lib -lgfortran -lsundials_cvodes -lsundials_ida -lsundials_nvecserial -framework Accelerate

所以 scons 终止了...我忘记安装什么了吗?我能做什么?

干杯,

马蒂亚斯

P.s.:我是一个相当新的 mac 用户 - 所以这是我使用终端和所有这些命令的第一次体验......

【问题讨论】:

    标签: compiler-errors fortran osx-mavericks scons cantera


    【解决方案1】:

    这不是SCons 的问题,而是编译器找不到gfortran 库。您提供的链接中的第 2 步显示了如何安装 gfortran。您是否成功完成了这一步?

    如果是这样,它安装在哪里?可能是 SCons 构建脚本没有正确指定 gfortran 库的路径。库路径通过-L 编译器标志传递给编译器。因此,如果您知道库的安装位置,请确保在库路径编译器标志中正确指定了它的路径。如果库路径不正确或丢失,您可以自己修改 SCons 脚本,或者考虑在 Cantera 支持站点上编写某种错误报告。

    要自己修改SCons 构建脚本,您需要修改LIBPATH 构建变量,如here 所示。

    【讨论】:

    • 嗨布雷迪,感谢您的快速回答...关于您的问题:我确实通过coudert.name/software/gfortran-4.8.2-Mavericks.dmg 安装了 gfortran
      但是,它似乎位于错误的位置。我联系了 Bok Jik Lee - 该指令的作者 - 他说我应该搜索“libgfortran.a”的正确位置,然后使用如下链接:“-s /some/where/your/libgfortran.a /usr /local/lib/libgfortran.a"
      你认为这是个好主意吗?
    • @user3313375,好的,您可以等待他们修复它,或者更新 SCons 构建脚本以指向我的回答中提到的新位置。