
On Oct 20, 2007, at 2:23 AM, Benjamin Collins wrote:
A common problem that occurs when building mpich2 is that SEEK_SET, SEEK_CUR, and SEEK_END are all defined. mpich2 (specifically mpicxx.h) requires them to be unset to avoid problems caused by both the MPI interface and stdio using them.
Thanks for pointing this out. This trips me up every time I use MPICH2, because after fixing the problem I forget again :)
Anyway, the suggested solution is to #undef each macro before #include <mpi.h>. I tried that in the mpi library, and it still failed to build. I also tried adding <define>MPICH_IGNORE_CXX_SEEK=1 to the mpi Jamfile. Alas, it didn't fix the problem either. The failure occurs when building release/threading-multi/collective.o
How about putting a #define MPICH_IGNORE_CXX_SEEK 1 at the top of boost/mpi/config.hpp, before the inclusion of mpi.h? If that works for you, I'll go ahead and make the change in Subversion. I'd normally just test this myself, but I don't have easy access to an MPICH2 installation at the moment. - Doug