Barry- When you changed the interface to PetscError etc to add the communicator, is something related to building with C++ missing. We get tons of errors associated with this change when building with C++. See the CIG petsc-dev buildbots at http://www.geodynamics.org:8009/?project=PETSc Brad