On Tue, 26 Jan 2010 11:15:45 +0000, Dave Love <d.l...@liverpool.ac.uk> wrote:
> > Versions where bumped to 0.0.1 for libmpi which has no
> > effect for dynamic linking.
> 
> I've forgotten the rules on this, but the point is that it needs to
> affect dynamic linking to avoid running with earlier libraries
> (specifically picking up ones from 1.2, which is the most common
> problem).

Dave, I think you are correct that this has not actually been done.  In
particular, I have 1.4.1 installed, but the soname is still libmpi.so.0.
It's irrelevant that the symbolic links are set up for libmpi.so.0.0.1,
this minor versioning only affects which DSO gets used when the linker
(not the loader) sees -lmpi.

And inspecting a binary built in Sep 2008 (must have been 1.2.7), ldd
resolves to my 1.4.1 copy without complaints.  However, the loader is
intelligent and at least offers a warning when I try to run this ancient
binary

  ./a.out: Symbol `ompi_mpi_comm_null' has different size in shared object, 
consider re-linking


Chapter 3 of this paper was useful to me when learning about ABI
versioning.

  http://people.redhat.com/drepper/dsohowto.pdf

Jed

Reply via email to