Как решить «фатальную ошибку: mpi.h: нет такого файла или каталога» во время компиляции PETSc в WSL - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь установить PETSc в Ubuntu, работающем в подсистеме Windows для Windows, но подробные шаги на официальной веб-странице приводят к ошибке компиляции.

Сначала я клонировал PETScrepo и запустил команду configure: ./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-openmpi --download-fblaslapack, которая сработала.(У меня уже был установлен OpenMPI раньше, но команда configure не работала без ключа --download-openmpi.) Затем я выполнил вывод команды make с помощью кода ./configure (make PETSC_DIR=/mnt/c/Stuff/Petsc/petsc PETSC_ARCH=arch-linux2-c-debug all) и получил эту ошибку:

In file included from /mnt/c/Stuff/Petsc/petsc/src/mat/order/qmdmrg.c:4:0:
/mnt/c/Stuff/Petsc/petsc/include/petscsys.h:134:12: fatal error: mpi.h: No such file or directory
 #  include <mpi.h>
            ^~~~~~~
compilation terminated.
gmakefile:153: recipe for target 'arch-linux2-c-debug/obj/mat/order/qmdmrg.o' failed
make[2]: *** [arch-linux2-c-debug/obj/mat/order/qmdmrg.o] Error 1

(полный вывод команды make составляет здесь , ошибка, приведенная выше, была лишь малой частью.) Очевидно, процедура make PETSc не может найти MPI, но она у меня установлена: Running which mpicc дает ожидаемое /usr/bin/mpicc.У кого-нибудь есть идея?Спасибо за помощь!

1 Ответ

0 голосов
/ 17 мая 2019

Решение было очень простым: я просто запустил make all test.В отличие от предложенной команды, которая сработала.

...