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
jsquy...@cisco.com


Reply via email to