Проблемы построения Трилино (Научная библиотека вычислений) на Mac OS X
Я пытаюсь собрать библиотеку Trilinos на Mac OS X 10.6.8, в основном следуя инструкциям на этой странице и документу CMake Quickstart, включенному в Trilinos.
Чтобы собрать его с помощью CMake, в инструкциях рекомендуется настроить каталог, например /usr/local/trilinos, создать в нем скрипт./do-configure и запустить его. Мой сценарий:
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" и использовал компилятор C++ OS X для целых проектов. Насколько я могу судить, оба компилятора работают правильно.
Кто-нибудь может догадаться, что может быть не так?
РЕДАКТИРОВАТЬ: Похоже, что это проблема совместимости, а не проблема с отдельными компиляторами.
2 ответа
Когда я собираю параграф. Я установил свой CXX компилятор на g++
и не стандарт c++
как делает cmake. Потому что в противном случае я вижу похожую ошибку.
Откуда ты взял гфортран? Сборки из большинства источников не поддерживают специфичные для Mac расширения, такие как -arch
что может создать проблемы при попытке объединить их обоих. Или они могут быть просто разными версиями (если вы gfortran намного новее, чем ваш g++, они могут попытаться добавить несовместимые версии времени выполнения).
В числовом сообществе Python (которое во многом зависит от Fortran) рекомендуемым источником для OS X является бинарный файл. Это соответствует версии gcc XCode и поддерживает определенные расширения для Mac.