2012-03-29 102 views
1

我試圖在Mac OS X 10.6.8上構建Trilinos庫,基本上遵循Trilinos中包含的this pageCMake Quickstart document的說明。在Mac OS X上構建Trilinos(科學計算庫)的故障

爲了使用CMake來構建它,說明建議設置一個目錄,例如,/usr/local/trilinos,在其中創建一個./do-configure腳本並運行它。我的腳本是:

[email protected] 

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編譯器,並將OS X的C++編譯器用於整個項目。據我所知,這兩個編譯器都能正常工作。

任何人都可以猜測什麼可能是錯的?

編輯:似乎它是一些兼容性問題,而不是個人編譯器的問題。

回答

1

當我編譯paraview。我將CXX編譯器設置爲g++,而不是像cmake那樣使用標準c++。否則我會看到類似的錯誤。

+0

我通過在'do-configure'腳本中設置一個選項來嘗試'g ++'。錯誤仍然相同。 – clstaudt 2012-03-29 10:11:45

+0

你是否檢查過它說'和CXX編譯器:/ usr/bin/g ++'? – Azrael3000 2012-03-29 11:34:48

+0

是的。它說: - 檢查工作CXX編譯器:在/ usr/bin中/ G ++ - 檢查工作CXX編譯器:在/ usr/bin中/ G ++ - 工程 - 驗證的Fortran/CXX編譯器兼容性 - 失敗 CMake的錯誤在/usr/local/Cellar/cmake/2.8.7/share/cmake/Modules/FortranCInterface.cmake:284(消息): Fortran編譯器: 的/ usr/local/bin中/ gfortran 和CXX編譯器: /usr/bin/g ++ 未能編譯使用這兩種語言的簡單測試項目。 – clstaudt 2012-03-30 14:26:32

1

你從哪裏得到gfortran?來自大多數來源的構建不支持像-arch這樣的mac特定擴展,這可能會導致嘗試將它們結合起來的問題。或者他們可能只是不同的版本(如果你的gfortran比你的g ++更新,他們可能會試圖拉入不兼容的運行時版本)。

在數字python社區(這取決於fortran的很多)推薦的OS X源代碼是here的二進制文件。這與XCode gcc版本相匹配,並支持Mac特定的擴展。