Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] v1.5 .so version numbers
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-06-03 15:34:16

SHORT VERSION: We broke ABI from the 1.4 series to the v1.5 series. I propose changing all the libtool .so version numbers as shown below to enforce that break. Can someone sanity check this?

--- VERSION (revision 23242)
+++ VERSION (working copy)
@@ -79,12 +79,12 @@
 # Version numbers are described in the Libtool current:revision:age
 # format.
 # "Common" components install standalone libraries that are run-time
 # linked by one or more components. So they need to be versioned as
@@ -92,5 +92,5 @@
 # components-don't-affect-the-build-system abstraction.

MORE DETAILS: now wholly includes, and wholly includes (and therefore also This was done for complex reasons -- the quick explanation is that is sucks because it makes us break ABI right now, but it puts us in a better position for ABI compatibility in the future. I wish that we had figured this out back at v1.3.2 when we introduced ABI compatibility, but we didn't -- so here we are. Cope.

To enforce this ABI break, I propose setting the libtool version numbers of all of our shared libraries to 1:0:0. This means that apps linked against v1.5 will *NOT* be able to use from the v1.3 or v1.4 series. They will have to relink (at a minimum).

Resetting *all* the library numbers to 1:0:0 is probably overkill (e.g., there's probably little gained by resetting the common libraries to 1:0:0), but it seems like an "ok" thing to do -- reset all the numbers across the board for minimum confusion.

Can someone sanity check my rationale here? I'm not tied to this scheme; it just seems simple and, while probably being a bit overly broad, makes the change easy to describe and consistent.

Jeff Squyres
For corporate legal information go to: