[Pkg-scicomp-devel] Open MPI 1.3 related rebuilds

Steve M. Robbins steve at sumost.ca
Sun Feb 1 23:05:57 UTC 2009

On Sun, Feb 01, 2009 at 10:52:18AM -0600, Dirk Eddelbuettel wrote:
> On 1 February 2009 at 00:37, Steve M. Robbins wrote:
> | Hello Dirk,
> | 
> | On Mon, Jan 26, 2009 at 09:10:04PM -0600, Dirk Eddelbuettel wrote:
> | 
> | > Open MPI 1.3, released a few days ago, recommends a rebuild of its
> | > dependencies.  
> | > 
> | > Given the fairly small number of affected packages, we are hoping do drive
> | > this rebuild 'informally' rather than with the full force of libopenmpi-1.2
> | > and libopenmpi-1.3 libraries (which would still require rebuilds, but also
> | > delays via NEW etc pp).  Details and logs of this initiative are on a new
> | > wiki page at   http://wiki.debian.org/OpenMPI13Transition
> | 
> | The wiki page states that Open MPI 1.3 is not binary compatible with
> | Open MPI 1.2.  Presumably, therefore, the SONAME has changed.  
> Not quite. It's more complicated because of the fact that at least three
> different implementations (LAM/MPI, MPICH and MPICH2, OpenMPI) provide
> /usr/lib/libmpi.so and there is no soname encoded.

That's not quite the case; the SONAME for the OpenMPI-supplied library
is libmpi.so.0:

	$ objdump -p /usr/lib/libmpi.so|grep SON
	  SONAME      libmpi.so.0

If a program linked against libmpi.so.0 fails to run with the new
libmpi.so.0, then either there is a bug in OpenMPI 1.3 or the SONAME
should change.  This is not confined to relinking dependent libraries
in Debian packages: you will also break user-built code.

> Also note that it isn't strictly incompatible. Some users of Open MPI that
> were built agains 1.2.* continue to work under 1.3.

Sure, but the test for re-using an existing SONAME is

	Is the ABI the same, or not?
i.e.	Does *every* program continue to run, or not?

My understanding is that the answer is "no".

> | So I don't understand what this request is about.  Can you explain?
> I am kindly requesting those who have a reverse dependency on Open MPI (aka
> libopenmpi1) to rebuild their package against the version in unstable.

Perhaps I'm being naive, but that doesn't seem to be sufficient.  I
think you'd have to do that recursively (e.g. for packages like MINC,
built against libhdf5-openmpi) and also force all user code to be

If the ABI change is intentional, I don't understand why you're not
using the usual transition mechanisms for doing this; i.e. either (a)
SONAME bump (requires upstream support), or (b) faking it with a
package rename (if upstream is unwilling).  See [1] for an example
of the latter.


[1] http://lists.debian.org/debian-devel/2007/05/msg01173.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-scicomp-devel/attachments/20090201/20d30003/attachment-0001.pgp 

More information about the Pkg-scicomp-devel mailing list