Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] 1.4.4 .so version numbers
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2011-04-29 17:22:23

On Apr 29, 2011, at 4:09 PM, Paul H. Hargrove wrote:

>> had changes for the upcoming 1.4.4 release that requires a .so version bump. Specifically, some MPI F90 bindings used to have some parameters of type INTEGER. In 1.4.4, those parameter types were corrected to be INTEGER(KIND=MPI_ADDRESS_KIND).
> You are thinking of the so-versions problem as if the change above is an ABI change. However, one could claim at a stretch that the entire 1.3.x and 1.4.x series implements the ABI present in the specification/documentation and in 1.4.4; and thus that the older versions contain a BUGGY implementation of the always-intended INTEGER(KIND=MPI_ADDRESS_KIND) ABI for the "large" F90 bindings.
> Under that reasoning I would endorse:
>> 2. Go with 0:2:0.

Good reasoning. I think it would actually be 0:2:1 in that case...?

>> IMPACT: Same as above. A binary using the old/wrong interfaces (e.g., compiled against 1.4.3) could still run-time link against OMPI 1.4.4 and possibly segv because the parameters are different sizes.
> I am unclear on how a binary linked to <=1.4.3 that was truncating the arguments would have worked in the first place.

If someone called MPI_SCATTERV with INTEGER sendcounts and displs arguments, it would have compiled / worked with 1.4.3. But if they then change their LD_LIBRARY_PATH to 1.4.4 and re-run the same binary, their actual argument memory should be shorter than what is necessary because the 1.4.4 sendcounts / displs type is INTEGER(KIND=MPI_ADDRESS_KIND).

Jeff Squyres
For corporate legal information go to: