我试图在运行在windows子系统内的Ubuntu上安装PETSc,但是详细说明on the official webpage的步骤导致了编译错误。
首先,我克隆了PETSc存储库并运行配置命令:./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-openmpi --download-fblaslapack
,它起作用了。(我之前已经安装了OpenMPI,但是如果没有--download-openmpi
开关,配置命令就不起作用。)然后,我执行由./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输出是here,上面的错误只是一小部分。)显然,make例程找不到PETSc,但我已经安装了它:运行which mpicc
会得到预期的/usr/bin/mpicc
。有谁有主意吗?谢谢你的帮助!
发布于 2019-05-17 20:58:49
解决方案非常简单:我只运行了make all test
。与建议的有效命令不同。
https://stackoverflow.com/questions/56152201
复制相似问题