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

Re: transition: proposal libpt2.6.5->libpt2.6.6 & libopal3.6.6->libopal3.6.7

Le samedi 24 avril 2010 à 17:12 +1000, Craig Southeren a écrit : 
> > Are subsequent minor versions of the libs really not binary (ABI) compatible?

> This issue is common with C++ libraries. The second part ofsSection 3.6 
> of the following page (which you also reference above) does
> a good job of describing the issues
> http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
> Given these constraints, and with an API as rich and complex as Opal and 
> PTLib, binary compatibility between revisions is not something we strive 
> for.
> However, we do try very hard to maintain source compatibility across 
> minor revisions. An API change that would break comptibility in a big 
> way is usually a trigger
> for a new major revision.

It is much better to be paranoid about that and to change the soname
like you do at every release, than having unexpected ABI changes, so
this is really appreciated. In the past we had to patch some libraries
in Debian to do that because upstream kept the soname without any
guarantee of ABI stability.

As for having a more stable ABI, one of the ways to achieve it would be
to provide a modular C API (maybe GObject-based) on top of the C++ one,
maybe with a restricted set of low-level features. Easier said than
done, of course.

 .''`.      Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-    […] I will see what I can do for you.”  -- Jörg Schilling

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: