You are correct. I found an "Open" macro defined in our another header file which was included before the mpi header files (Actually this order was working fine with the mpich-1.2.7 but both openmpi-1.2.7 and MPICH-2 complained and threw errors to me). Now when I change the order of inclusion (i.e., first mpi and then my other header file), the code compiles and builds fine. 



On Wed, Oct 8, 2008 at 21:19, Sudhakar Mahalingam <sudhakar_at_[hidden]> wrote: 
> I am having a problem about "Open" Macro's number of arguments, when I try 
> to build a C++ code with the openmpi-1.2.7 on my Mac OS 10.5.5 machine. The 
> error message is given below. When I look at the file.h and file_inln.h 
> header files in the cxx folder, I am seeing that the "Open" function indeed 
> takes four arguments but I don't know why there is this error about the 
> number of arguments of 4. Does anyone else seen this type of error before ?. 

MPI::File::Open is an inline function, not a macro. You must have an 
unqualified Open macro defined in this compilation unit. Maybe in one 
of the headers that were included in your code before hdf5.h. Does it 
work if you include hdf5.h first?