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
