在 OSx 10.9 Mavericks 上安装 Cantera 2.1
Posted
技术标签:
【中文标题】在 OSx 10.9 Mavericks 上安装 Cantera 2.1【英文标题】:Installing Cantera 2.1 on OSx 10.9 Mavericks 【发布时间】: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 用户 - 所以这是我使用终端和所有这些命令的第一次体验......
【问题讨论】:
【参考方案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 构建脚本以指向我的回答中提到的新位置。以上是关于在 OSx 10.9 Mavericks 上安装 Cantera 2.1的主要内容,如果未能解决你的问题,请参考以下文章
OSX 10.9 - Mavericks webdav 客户端锁定问题
OSX 10.9 Mavericks 钥匙串 API 坏了?
OS X 10.9 Mavericks - 使用虚拟主机设置本地主机
Aspell 不会在 OS X 10.9 (Mavericks) 上构建
在 migratePersistentStore: 到 OS X 10.9 Mavericks 上的另一个 URL 后访问 NSManagedObject 属性时崩溃