On Nov 5, 2014, at 12:23 PM, Dave Love <d.l...@liverpool.ac.uk> wrote:
> Is the issue documented publicly? I'm puzzled, because it certainly > works in a simple case: There were several commits; this was the first one: https://github.com/open-mpi/ompi/commit/d7eaca83fac0d9783d40cac17e71c2b090437a8c A few more were required after that one to clean up some bugs and corner cases that grew from that commit. > $ cat x.f90 > use mpi ...trying to remember the details... IIRC, it only affected certain configure situations (e.g., only certain fortran compilers). I'm failing to remember the exact scenario offhand that was problematic right now, but it led to the larger question of: "hey, wait, don't we have to support MPI_SIZEOF in mpif.h, too?" > I don't understand how it can work generally with mpif.h (f77?), as > implied by the man page, rather than the module. According to discussion in the Forum Fortran working group, it is required that MPI_SIZEOF must be supported in *all* MPI Fortran interfaces, including mpif.h. Hence, if certain conditions are met by your Fortran compiler (i.e., it's modern enough), OMPI 1.8.4 will have MPI_SIZEOF prototypes in mpif.h. If not, then you get the same old mpif.h you've always had (i.e., no MPI_SIZEOF prototypes, and MPI_SIZEOF won't work properly if you use the mpif.h interfaces). Keep in mind that MPI does not prohibit having prototypes in mpif.h -- it's just that most (all?) MPI implementations don't tend to provide them. However, in the case of MPI_SIZEOF, it is *required* that prototypes are available because the implementation needs the type information to return the size properly (in mpif.h., mpi module, and mpi_f08 module). Make sense? -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/