[petsc-dev] Install location for MPIUNI mpi.h

Jed Brown jed at jedbrown.org
Wed Apr 25 14:31:13 CDT 2018


"Smith, Barry F." <bsmith at mcs.anl.gov> writes:

>> On Apr 25, 2018, at 1:36 PM, Jed Brown <jed at jedbrown.org> wrote:
>> 
>> It is currently installed to include/petsc/mpiuni/mpi.h and petscsys.h
>> includes it as <mpi.h>, which means that users of MPIUNI need to put
>> -I/prefix/include/petsc/mpiuni in their command lines.  Matt and I agree
>> that this is bad.  We disagree on the solution.
>> 
>> He wants to install it to /prefix/include/mpi.h as though the user had
>> written --download-mpich.  This would conflict if a user later installs
>> a real MPI to that location.
>
>   Jed,
>
>    So you propose in petscsys.h ?
>
> #if defined(PETSC_HAVE_MPIUNI)
> #include <petsc/mpiuni/mpi.h> 
> #else
> #include <mpi.h>
> #endif
>
>   I don't have a problem with this.

Yes, and same installation layout as today.

> I notice that the Fortran petscsys.h is scattered full of weird MPIUni specific stuff like
>
> #if defined (PETSC_HAVE_MPIUNI)
> #include "mpiunifdef.h"
> #endif
>
> #if defined(PETSC_HAVE_MPIUNI)
> #define MPI_Comm PetscFortranInt
> #define MPI_Group PetscFortranInt
> #define PetscMPIInt PetscFortranInt
> #else
> #define MPI_Comm integer
> #define MPI_Group integer
> #define PetscMPIInt integer
> #endif
>
> It seems PETSc Fortran does not use the standard mpif.h file? 

Yuck.


More information about the petsc-dev mailing list