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