[Interest] Qt 5.3 vs Qt 5.4 (etc)

André Pönitz apoenitz at t-online.de
Mon Jan 12 23:16:30 CET 2015


On Mon, Jan 12, 2015 at 10:56:56AM +0100, Alejandro Exojo wrote:
> El Saturday 10 January 2015, René J.V. Bertin escribió:
> > On Saturday January 10 2015 11:44:37 Tomasz Olszak wrote:
> > 
> > Thanks again,
> > 
> > >And here is interesting article about it:
> > >https://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++
> > 
> > Yes, I knew that one, and that it mentions binary compatibility between
> > "even bigger releases" of Qt. Still, to hang ABI compatibility only on the
> > use of d pointers, that's a real leap of faith without a bit of
> > confirmation (and you even have the perfect name for that ;) )
> 
> http://upstream.rosalinux.ru/versions/qt.html
> 
> There is at least "a bit" of confirmation, since there are attempts to detect 
> when binary compatibility is broken, but from the conversations of the Qt 
> developers I've read, is not possible to have a perfect 100% coverage of ABI 
> breaks if have to take into account all the platforms and compilers that Qt 
> supports.

The question is what you actually want to achieve. 

(a) Limited upgrading pain when going from version x.y of a library to
    version x.y+1?

- You don't need 100% ABI guarantee. You just recompile/relink.
  In fact, ABI stability is even less interesting than source
  compatibility in that case. 

(b) A guarantee that version x.y+1 of a library is a drop-in replacement
    for version x.y?
   
- You can't derive that guarantee from 100% ABI guarantee *unless*
  it is accompanied with a guarantee of no behavioural changes.
  Not many libraries do. Qt certainly doesn't. At the very least you
  need to test properly to make sure it's good enough for this 
  particular upgrade.

(c) Something else?

- What exactly? [And my best guess is that 100% ABI compatibility won't
  help you with that either]

Note that I am not saying that aiming a ABI compatibility is useless. 
It has *some* merits. One just shouldn't jump to unfounded conclusions,
like that it'd be ok to blindly replace libraries.

Andre'





More information about the Interest mailing list