On Nov 12, 2013, at 00:38 , Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
> 2. In the 64 bit case, you'll have a difficult time extracting the MPI status values from the 8-byte INTEGERs in the status array in Fortran (because the first 2 of 3 each really be 2 4-byte integers).
My understanding is that in Fortran explicitly types variables will retain their expected size. Thus, instead of declaring
INTEGER :: status[MPI_STATUS_SIZE]
one should go for
INTEGER*4 :: status[MPI_STATUS_SIZE]
This should make it work right now. However, it is a non-standard solution, and we should fix the status handling internally in Open MPI.
Looking at the code I think that correctly detecting the type of our ompi_fortran_integer_t during configure (which should be a breeze if the correct flags are passed) should solve all issues here as we are protecting the status conversion between C and Fortran.
Jim, can you go in the include directory on your Open MPI installation and grep for the definition of ompi_fortran_integer_t please.