Mpif90 не компилируется должным образом после обновления до Mac Big Sur

#macos #mpi #gfortran #macos-big-sur

#macos #mpi #gfortran #macos-big-sur

Вопрос:

Недавно я обновился до Big Sur, и у меня возникли проблемы с запуском кода в mpi. Я запускаю тестовый код со следующей командой:

 mpif90 -o test.f90 ./test
 

Я получаю следующую ошибку:

 -bash: mpif90: command not found
 

Я обновил homebrew и macports, но не могу решить проблему. Я подозреваю, что это как-то связано с неправильным именем пути где-то. Есть идеи? Спасибо.

@Oo.oO Спасибо. При настройке сборки gcc (по ссылке в вашем комментарии) командой:

  ../configure --prefix=$HOME/opt/usr/local/gcc/gcc-9.2.0 
 --enable-checking=release 
 --enable-languages=c,c  ,fortran 
 --disable-multilib 
 --with-sysroot=$HOME/opt/usr/local/gcc_system_root 
 --program-suffix=-9.2.0
 

возникает следующая ошибка:

  configure: error: in `$HOME/opt/src/gcc/gcc-9.2.0/build':
 configure: error: C compiler cannot create executables
 

Я обновил Xcode (версия 12.3). Есть мысли? Спасибо.

Комментарии:

1. Вы всегда можете попытаться собрать все из исходных текстов (я имею в виду MPI): owsiak.org /…

2. сначала о главном. Как вы установили GNU compilers MPI? это от brew? если да, то что делает which gfortran и which mpicc возвращает?

3. @GillesGouaillardet Я установил openmpi версии 2.0.2 с последними обновлениями homebrew. which gfortran возвращает /usr/local/bin/gfortran и which mpicc возвращает командную строку.

4. это странно, поскольку brew предоставляет открытый MPI 4.0.5 . Я бы попытался удалить и переустановить open-mpi с помощью brew.

Ответ №1:

Проблема заключалась в том, что были другие /bin/ каталоги, в которых были более старые версии gcc и openmpi. При обновлении новые файлы из /lib/ каталогов необходимо было передавать в /Cellar/ каталоги. Проблема устранена при первом удалении всех старых macports и компиляторов с неправильными файлами и / или путями как sudo port -fp uninstall installed , и brew uninstall openmpi , и brew uninstall gcc . Затем переустановите новые компиляторы homebrew brew install gcc , brew install openmpi . Это дает правильные пути с настроенными файлами при отправке файла make или, в данном случае, с помощью mpif90 команды.