我正在尝试在 windows 的 windows 子系统中运行的 Ubuntu 上安装 PETSc,但官方网页上详述的步骤导致编译错误。
首先,我克隆了 PETSc 存储库并运行了配置命令:./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-openmpi --download-fblaslapack
,它起作用了。(我之前已经安装了 OpenMPI,但是如果没有--download-openmpi
开关,configure 命令不起作用。)然后我执行了 ./configure 代码(make PETSC_DIR=/mnt/c/Stuff/Petsc/petsc PETSC_ARCH=arch-linux2-c-debug all
)输出的 make 命令并得到了这个错误:
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 输出在这里,上面的错误只是一小部分。)显然 PETSc make 例程找不到 MPI,但我已经安装了它:运行which mpicc
给出了预期的/usr/bin/mpicc
. 有人有想法吗?谢谢您的帮助!