[CLN-list] (library) version info is still incorrect (?)
Richard B. Kreckel
kreckel at ginac.de
Sat Apr 5 23:00:01 CEST 2008
Dear Alexei,
Alexei Sheplyakov wrote:
> CL_CURRENT=5
> -CL_REVISION=1
> +CL_REVISION=2
> CL_AGE=0
>
> I think this version info is incorrect. It should be
>
> CL_CURRENT=6 # new functions were added
> CL_REVISION=0
> CL_AGE=1 # but still it's binary compatible with CLN 1.2.0
Really?!? Let's read what the libtool documentation has to say about its
versioning system. Hmm, yes, I see...
Let's assume that in CLN-1.2.3 functions are removed. This would become:
CL_CURRENT=7
CL_REVISION=0
CL_AGE=0
The net result is that soname-wise, libcln.so.7 directly follows
libcln.so.5. Quite confusing. Is that really the intent? Or am I
supposed to decrement CL_CURRENT again?
So far, my practice has been to try to care that later libraries with
soname libcln.so.x are compatible with earlier ones with same soname and
to increment soname whenever compatibility breaks. From a software
distribution point of view (wearing my Debian hat), this should be all
that matters.
If I had done this the way libtool suggests, we would already have
libcln.so.21 or so. After all, this is C++, where library interfaces are
usually less stable than in C.
I'm releaseing it now the way it is. Don't hesitate to tell if you think
that this way of doing versions is fundamentally wrong.
Cheers
-richy.
--
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>
More information about the CLN-list
mailing list