[petsc-dev] OpenMPI && petsc-2.3.3-p15
Jed Brown
jed at 59A2.org
Thu Jan 7 02:21:29 CST 2010
On Wed, 6 Jan 2010 14:45:33 -0600 (CST), Satish Balay <balay at mcs.anl.gov> wrote:
> There was also a need to not include 'stdio.h' before mpi.h [for c++]
> - and we can't control this usage in user code. MPICH_SKIP_MPICXX has
> prevented this issue form coming up.
>
> [Perhaps newer versions of mpich/openmpi workarround this - but some
> users might still be using some older versions - or derivatives of
> mpich - where this issue would come up.]
The normal problem is with the SEEK_SET, SEEK_CUR, and SEEK_END macros
conflicting with MPI-2's namespaced MPI::SEEK_*, which is accepted to be
a bug in the standard. The MPICH2 workaround is to turn the SEEK_*
macros into enums, OMPI turns them into const ints. Both force stdio.h
to be included because MPI::SEEK_* is broken when SEEK_* is a macro.
Harald is using a fairly old Open MPI, I haven't seen any warnings like
that from later 1.2.x releases onwards.
Note that MPI-2.2 deprecates the C++ bindings.
Jed
More information about the petsc-dev
mailing list