gnustep-dev
[Top][All Lists]
Advanced

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

Re: ABI Compatibility (was Re: Installation woes for the average user...


From: Yavor Doganov
Subject: Re: ABI Compatibility (was Re: Installation woes for the average user...)
Date: Wed, 11 Mar 2009 08:26:55 +0000 (UTC)
User-agent: Pan/0.132 (Waxed in Black)

В Mon, 09 Mar 2009 22:23:25 +0100, Riccardo Mottola написа:
> If we compare to other projects like glib2, gtk2: fine-grained packages
> like debian will give you udpates only when necessary

Glib/GTK+ have a stable API/ABI throughout the whole lifetime of the 
GNOME 2 platform.  If you upgrade from GTK+ 2.8 to GTK+ 2.14 (say), no 
recompilation of GTK apps is required.  This is drastically different 
from the GNUstep libraries which break the ABI once or twice every year.

Of course, API/ABI stability is a big promise, and personally I don't 
think it's worth the trouble for GNUstep at this point.  It would be good 
enough to break the ABI *only* when necessary.

> (but this can be done for gnustep too, without problems)

The problems with GNUstep, at least for binary distributions, is the 
regular library transitions with recompilation of all GNUstep packages.  
Sometimes it's necessary, sometimes it's not, but they are forced to do 
it anyway.  There is zero benefit for the end user when the transition is 
useless -- instead of updating only Base/GUI/Back, she updates the whole 
stack of apps/tools/frameworks.

> On system where you build, like
> NetBSD with pkgsrc or gentoo, one update trigegrs the recompilation of
> all packages. Just did that yesterday: update glib2? Be prepared to
> recompile up to your browser.

This seems like a broken system (or more likely, user setup) to me.  All 
glib2 releases are binary compatible, so no recompilation of its reverse 
dependencies is necessary.  It's just like when you upgrade from glibc 
2.7 to 2.9 you don't recompile everything -- the ABI is the same; there 
are only API additions.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]