[MOAB-dev] SEEK_SET again

Jed Brown jed at 59A2.org
Wed Oct 21 09:52:24 CDT 2009


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.

I have mentioned this twice over the last year, it would be really nice
to see it fixed so that I don't have to explain to other people why they
need to apply patches just to try out MOAB/CGM.

Jed

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20091021/10e5fd57/attachment.pgp>


More information about the moab-dev mailing list