我正试图在Mac OS X 10.6.8上构建Trilinos库,基本上遵循本页上的说明和Trilinos附带的CMake Quickstart文档。
为了使用CMake构建它,说明建议设置一个目录,例如/usr/local/trilinos,创建/请在其中配置脚本并运行它。我的脚本是:
EXTRA_ARGS=$@
cmake
-D CMAKE_BUILD_TYPE:STRING=DEBUG
-D Trilinos_ENABLE_TESTS:BOOL=ON
$EXTRA_ARGS
${TRILINOS_HOME}
运行此脚本将启动配置,直到出现错误为止。详细输出可以在这里找到:http://pastebin.com/abrEghD7
我认为信息的相关部分是:
-- Verifying Fortran/CXX Compiler Compatibility - Failed
CMake Error at /usr/local/Cellar/cmake/2.8.7/share/cmake/Modules/FortranCInterface.cmake:284 (message):
The Fortran compiler:
/usr/local/bin/gfortran
and the CXX compiler:
/usr/bin/c++
failed to compile a simple test project using both languages. The output
was:
但是,我无法解释为什么脚本指责Fortran和C++编译器。我用"Hello World"测试了Fortran编译器,并在整个项目中使用了OSX的C++编译器。据我所知,这两个编译器都能正常工作。
有人能猜出可能出了什么问题吗?
编辑:这似乎是一些兼容性问题,而不是单个编译器的问题。
编译paraview时。我将CXX编译器设置为g++
,而不是像cmake那样设置为标准的c++
。因为除此之外,我看到了类似的错误。
您从哪里获得gfortran?来自大多数来源的构建不支持像-arch
这样的特定于mac的扩展,这可能会在尝试将两者结合时产生问题。或者它们可能只是不同的版本(如果你的gfortran比你的g++更新得多,他们可能会试图引入不兼容的运行时版本)。
在数字python社区(这在很大程度上取决于fortran)中,OS X的推荐来源是这里的二进制文件。这与XCode gcc版本相匹配,并支持Mac特定的扩展。