[MOAB-dev] SEEK_SET again

Jason Kraftcheck kraftche at cae.wisc.edu
Wed Oct 21 10:24:59 CDT 2009


Jed Brown wrote:
> This applies to both MOAB and CGM.  MPI implementations usually overcome
> the namespace collision by including iostream and redefining the global
> macros as static const int (which can be used in case statements just
> like the macros could).  The problem is that the macro smashing that you
> do in MBProcConfig.hpp and CGMProcConfig.hpp means that the MPI cannot
> redefine these symbols (since pulling in iostream doesn't actually
> define them).  This breaks the build.
> 
> Prior to MPICH2-1.0.8, the correct procedure was to define
> MPICH_IGNORE_CXX_SEEK (this logic is already in MOAB) and NOT smash the
> macros in *ProcConfig.hpp.  With MPICH2-1.0.8 and later as well as Open
> MPI, you should not do anything special (but the build does fail if you
> smash the macros, at least with Open MPI).  MPI-3 will abolish
> MPI::SEEK_* entirely.
> 

And what is the correct procedure for an MPI 2.0 implementation other than
MPICH?

- jason


More information about the moab-dev mailing list