Devel community:

We had a lengthy discussion on the weekly webex yesterday about a request from 
our downstream packagers: if possible, they would strongly prefer if we did not 
change the major .so version in the upcoming v4.0.x.

The exact rationale for this gets quite complex, but the short version is: 
there's a bazillion packages dependent upon, and it would be really 
nice if the distros didn't have to recompile all of them because we arbitrarily 
changed the major version in v4.0.x.

Note, however, that v4.0.x will be doing the following:

1. Continuing to not build the MPI C++ bindings by default, although you can 
enable them via --enable-mpi-cxx
2. Not including declarations for functions and globals from MPI-1 that were 
deleted in the MPI-3.0 spec in mpi.h/mpif.h/mpi+mpi_f08 modules, although you 
can enable them via --enable-mpi1-compat.

  --> Note that the symbols for these functions/globals are still in 
for ABI reasons -- you'll just run into *compile* errors if you try to use 
functions like MPI_Attr_get(), because it won't be declared in mpi.h.

This is part of a long-term plan to *actually* delete both the C++ bindings and 
the deleted MPI-1 functions and globals in Open MPI v5.0.0 (sometime in 2019).  
That is: --enable-mpi-cxx and --enable-mpi1-compat will go away, and all those 
symbols will no longer be available.

For more background / detail, see:


Jeff Squyres

devel mailing list

Reply via email to