Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] ABI stabilization/versioning
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-01-30 08:04:33

On Jan 26, 2010, at 6:49 AM, Jed Brown wrote:

> 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

Yes, this was definitely a problem. We introduced ABI forward compatibility in 1.3.2 that fixes this issue.

Background: even though Open MPI's MPI handles are just pointers, there's a subtlety that we didn't anticipate that makes the back-end size of the actual structs matter for global handles like MPI_COMM_WORLD. In 1.3.2, we ended up padding the size of back-end MPI objects for pre-defined handles (like MPI_COMM_WORLD, MPI_INT, ...etc.) to help isolate us from future struct size changes.

Jeff Squyres