Re: [ANNOUNCE] librep 0.91.0



Christopher> Hi folks, a new stable release of librep is available for
Christopher> download now.

I'm sorry to continue such an old thread, but ..

Christopher>    * Update note [important]:

Christopher> You need to rebuild rep-gtk and sawfish against this
Christopher> version of librep, because of an ABI-change.

Why, then, has the soname level not been changed?  

>From configure.in:

dnl libtool versioning info: `CURRENT:REVISION:AGE'. CURRENT is the
dnl current interface id, REVISION is the version number of this
dnl implementation, AGE defines the first interface id also supported
dnl (i.e. all interfaces between CURRENT-AGE and CURRENT are supported)
libcurrent=15
librevision=0
libage=6
libversion="$libcurrent:$librevision:$libage"

For Linux shared library system, this translates into soname
librep.so.9 (and runtime library name librep.so.9.6.0).  This means the
dynamic loader will be satisfied with a runtime library on the other
side of the incompatible change, with disastrous results.  This is
exactly the situation for which the soname versioning scheme was
invented!

Insetad, the correct settings would be
libcurrent=16
librevision=0
libage=0

Where it really starts to suck is when I want to build debian packages
correctly - because Debian is very careful to get this stuff right.
Basically, if I leave the configure.in unpatched, I have to cheat in the
debian build - tell it (via the shlibs tools) that the ABI is actually
compatible.

Can we get this right soon, or am I doomed to keep my own private debian
packages forever?

-- 
Ian Zimmerman <itz buug org>
gpg public key: 1024D/C6FF61AD 
fingerprint: 66DC D68F 5C1B 4D71 2EE5  BD03 8A00 786C C6FF 61AD
Ham is for reading, not for eating.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]