[Insight-developers] shared library versioning

Steve M. Robbins steven.robbins at videotron.ca
Sun Mar 5 01:47:34 EST 2006


Hello,

Gavin Baker has been maintaining unofficial Debian packages of ITK for
some time.  I'm helping him to make them official.  

Debian's policy mandates that shared libraries be properly versioned
with a shared object name (SONAME), which the ITK release currently
does not have.  The SONAME encodes a version number that is a
statement of binary compatibility.  From Debian's point of view,
therefore, it is much preferable if the ITK development team took care
of the SONAME.

Is this feasible?

As I understand it, there are roughly two choices for maintaining the
shared object version (SOVERSION):

  1. For every release, a human reviews the changes and decides
  whether compatibility with the previous is maintained or broken.
  The SOVERSION is incremented only in the latter case.

  2. The SOVERSION is incremented at every release, effectively
  claiming that there is never binary compatibility.


Option #2 is what VTK has chosen.  It has the advantage that one
can generate the version automatically from the package version
with CMakeList.txt magic.

If desired, we can provide a patch for ITK.  Let us know which option
to use.  For option #1, we also need a SOVERSION to start with.

Best regards,
-Steve


More information about the Insight-developers mailing list