[Development] binary compatibility promise (was: Re: Frameworks on Mac?)

Ziller Eike Eike.Ziller at digia.com
Tue Nov 27 11:31:28 CET 2012


On 23 Nov 2012, at 14:15, Rutledge Shawn <Shawn.Rutledge at digia.com> wrote:

> 
> On 23 Nov 2012, at 11:07 AM, Peter Hartmann wrote:
> 
>> On 11/23/2012 12:12 AM, André Pönitz wrote:
>>> (...)
>>> The reality is that this guarantee often enough does not hold in
>>> practice. Vendors of "binary" Qt based application typically test their
>>> setup against one specific (often enough patched) version of Qt which
>>> is then shipped with the application. Users are not expected to switch
>>> Qt versions, except when upgrading the whole application. Insofar are
>>> rules like "we can't add symbols in patch releases" not much more then
>>> self-inflicted pain without measurable gain.
>> 
>> This situation is different on mobile (and I guess embedded as well); 
>> for BlackBerry10 we have one version of Qt on the device and often 
>> cross-compile apps with another version of Qt; so we depend on the 
>> binary compatibility promise for patch releases (and in fact were bitten 
>> by the new symbols as well when people reported their app was not 
>> launching with "unknown symbol: _ZNK20QFutureInterfaceBase4refTEv" etc.).
> 
> I think that is also the reason Necessitas distributes Qt as separate packages, with apps depending on it, so that it can be shared between apps, right?

If installing one application can upgrade the Qt version (i.e. including removing the older Qt version) that is then used by all Qt apps, that sounds really scary to me.
At least that requires application developers to continually track which Qt version might get installed (i.e. when that shared Qt installer is updated), and check their application with it.

> If vendors really need to redistribute Qt with every app on Mac and Windows, they could at least link it statically so that unused functions can be omitted.  But apparently there are problems with that too.
> 
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

-- 
Eike Ziller, Senior Software Engineer - Digia, Qt
 
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B




More information about the Development mailing list