At this point version 0.5.4 is quite old. Version 0.6.0 adopted CMake for the build system, and with version 0.7.0 the dependence on PETSc was dropped altogether, i.e. using CMFD no longer requires PETSc. That being said, if updating to a newer version is not an option, the problem is that the proper include directory does not appear to be passed to the compiler. In the Makefile, you’ll see a variable called PETSC_DIR which should be set to the root directory of your PETSc installation. You’ll want to make sure that from the PETSc root directory, there is an include/ subdirectory which contains a file petscvec.mod Fortran module file. Please also note that PETSc must be compiled with the same compiler you are using to compile OpenMC.