Ошибки компиляции XMDS в El Capitan OS X с терминала XMDS

XMDS – это программный пакет, который позволяет решать обыкновенные уравнения, уравнения в частных производных и стохастические дифференциальные уравнения, компилируя их в C и запуская на максимальная скорость, разрешенная архитектурой локальной машины. Обычно XMDS поддерживает компилятор GCC с библиотекой GOMP OpenMP.

Я пытаюсь установить XMDS, но всякий раз, когда я запускаю его, я получаю следующую ошибку:

Checking for program mpic++                              : 

/Users/dg813/Downloads/XMDS.app/Contents/usr/bin/mpic++ 
Checking for 'g++' (c++ compiler)                        : /Users/dg813/Downloads/XMDS.app/Contents/usr/bin/mpic++ 
Checking whether the compiler works                      : The compiler doesn't seem to work 

У меня установлен Xcode, который должен был принести с собой gcc. Я пытался установить gcc вручную в соответствии с этим, но ближе к концу он просто начал возвращать «no such file or directory» при попытке запустить команды конфигурации для gcc.

Любая помощь очень ценится!


person Dan Goldwater    schedule 13.11.2015    source источник
comment
Попробуйте xcode-select --install установить инструменты командной строки.   -  person Mark Setchell    schedule 14.11.2015


Ответы (1)


Недавний Xcode больше не устанавливает gcc, а устанавливает LLVM/CLANG как компилятор c. Вы можете установить gcc с помощью macports или напрямую из исходников. В обоих случаях gcc необходимо будет загрузить с помощью компилятора clang. Вам потребуются установленные линейные инструменты Xcode.

ОБНОВЛЕНИЕ: я проверил, пытаясь установить MXDS на свою машину, которая, кстати, похожа на вашу: el capitan, XCode и т. д. g++, компилятор c++ работает. Это очевидный псевдоним для clang. Это mpic ++, который, насколько я понимаю, установлен XMDS, который не работает. Я воспроизвел вашу точную ошибку:

Configuring for MPI scripts...
Checking for program mpic++                              :     /Users/michelefadda/Downloads/XMDS.app/Contents/usr/bin/mpic++ 
Checking for 'g++' (c++ compiler)                        : /Users/michelefadda/Downloads/XMDS.app/Contents/usr/bin/mpic++ 
Checking whether the compiler works                      : The compiler doesn't seem to work 
Configuration failed.  Address the above issue to use xmds2.
Config log saved to  /Users/michelefadda/Library/XMDS/etc/xmds2/waf_configure/config.log

XMDS configure failed.  Check error messages above and report errors to [email protected]

Приложу свой лог к ​​письму разработчику, как они подсказывают.

Кстати, кажется, что ошибка, о которой сообщает XMDS, из config.log, по-видимому, связана с жестко заданным путем:

/Users/michelefadda/Загрузки/XMDS.app/Contents/usr/bin/mpic++ -mmacosx-version-min=10.11 -I/Users/michelefadda/Downloads/XMDS.app/Contents/usr/include ../test.cpp -c -o test.cpp.1.o err: dyld: библиотека не загружена: /Users/graham/Developer/xmds-mac/BuildScripts/build/openmpi-1.8.3/../../output64 /lib/libopen-pal.6.dylib Ссылка из: /Users/michelefadda/Downloads/XMDS.app/Contents/usr/bin/mpic++ Причина: изображение не найдено

Конечно, на моей машине нет пользователя с именем "graham". Очень вероятно, что это ошибка. Я сообщил об этом разработчику.

person Michele Giuseppe Fadda    schedule 13.11.2015
comment
Привет спасибо. Я установил gcc через macports, но все равно получаю ту же ошибку от XMDS. Есть ли какая-то причина, по которой XMDS может не увидеть установку macports? Спасибо! - person Dan Goldwater; 18.11.2015
comment
Обнаружена ошибка: это связано с ошибкой программирования в XMDS, фиксированный путь, который ссылается на собственную машину разработчика. Я сообщил об ошибке разработчику, думаю, должно прийти исправление. - person Michele Giuseppe Fadda; 19.11.2015
comment
дальнейшее обновление: новейшая версия (версия 2.2.2-2) установщика OS X XMDS исправляет ошибку, о которой вы писали. К сожалению, XMDS в своем текущем состоянии несовместим с MPI на основе LLVM: другие библиотеки отсутствуют/несовместимы. Разработчик об этом знает. - person Michele Giuseppe Fadda; 25.11.2015
comment
Да, могу подтвердить, что в новейшей версии эта проблема исправлена. Спасибо всем за помощь. - person Dan Goldwater; 13.12.2015