Actually, I thought about this more.
There is a way to not break ABI, but still adhere to MPI-3.
Let me go work up a patch and see if it's horrible; I think it will be a matter of reverting *some* of the code, but not *all* of it.
On Jan 28, 2014, at 5:35 PM, Jeff Squyres <jsquyres_at_[hidden]> wrote:
> It looks like Past Jeff was wrong: the removal of the choice buffers from the non-ignore-TKR version of the Fortran mpi module (which is only used for gfortran <=v4.8) *does* cause ABI breakage between 1.7.3 and 1.7.4.
> Per discussion on the telconf today, we decided that we're going to do this anyway, because it's an MPI-3.0 conformance issue.
> I've added the following to the README in the ABI section:
> * A second bug was discovered after v1.7.3 was released that causes
> ABI to be broken for gfortran users who are using the "mpi" Fortran
> module. In short, for versions of gfortran that do not support
> "ignore TKR" functionality (i.e., gfortran <=v4.8), Open MPI was
> providing interfaces for MPI subroutines with choice buffers (e.g.,
> MPI_Send) in the Fortran mpi module. The MPI-3.0 specification
> expressly states not to do this. To be consistent with MPI-3, Open
> MPI v1.7.4 therefore removed all MPI interfaces with choice buffers
> from the no-ignore-TKR version of the Fortran mpi module, even
> though this breaks ABI between v1.7.3 and v1.7.4. Affected users
> should be able to recompile their MPI applications with v1.7.4 with
> no changes.
> Other Fortran compilers that provide "ignore TKR" functionality are
> not affected by this change.
> Jeff Squyres
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/