On 2020-11-15 07:36+0100 Rafael Laboissière wrote:

Dear PLplot developers,

Please find here attached a patch developed by Nicolas Boulenguez that we are currently applying to the Debian package. The patches regards the setting of the libplplotada's shared object version.

Here is the description of the patch, as written by Nicolas:

“The SOVersion sometimes needs to evolve independently of the API (and thus, is unrelated with semantic versioning), or even without knowledge by the upstream author. For example, a rebuild of the library with a different compiler may break its ABI.

This patch provides redistributors like Debian an easy way to set the libplplotada_SOVERSION on the CMake command line, without patching CMake files.

This patch only affects the Ada library, but the suggestion applies to any language allowing dynamic linking.

As far as I know, the part added by _VERSION and the related symbolic links are a complexity added by CMake (probably in order to follow the GNU libtool conventions), but the linker only cares about the SOVERSION.”

Please consider applying this patch to PLplot.

To Nicholas and Rafael:

I would be happy to cache *_SOVERSION variables for each of our
libraries to help packagers who are up against some ABI change for
their distribution.  However, packagers also would need to update the
*_VERSION variables as well if their distribution mandated some rule
for those such as semantic versioning (which is the set of library
SOVERSION/VERSION rules that libtool has adopted).  For example, if
*_VERSION remains uncached as now, then the VERSION result will
combine the packager's SOVERSION with a default suffix that is
consistent with the semantic versioning rules (e.g., the ".2.0" suffix
in ${plplotfortran_SOVERSION}.2.0) for the default SOVERSION supplied
by PLplot but *not* the SOVERSION supplied by the packager.  So I am
strongly leaning toward caching both *_SOVERSION and *_VERSION
variants of all library version variables.

@Nicholas:
Thanks for (indirectly) bringing this issue to our upstream attention.

@Rafael:

Historically (back in our autotools days) you were the PLplot guru on
library soversion/version issues.  So I would appreciate a comment
from you about whether you see any downside to my idea above to cache
both forms of library version variables to allow packagers to override
both.

@both:

Best wishes,

Alan
__________________________
Alan W. Irwin

Research affiliation with the Department of Physics and Astronomy,
University of Victoria, Victoria, BC, Canada.

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to