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: Richard Frith-Macdonald
Subject: Re: ABI Compatibility (was Re: Installation woes for the average user...)
Date: Thu, 21 May 2009 06:17:47 +0100


On 20 May 2009, at 23:17, Yavor Doganov wrote:

Richard Frith-Macdonald wrote:
On 20 May 2009, at 20:54, Yavor Doganov wrote:
If I understand correctly, you say that between 1.13 and 1.19 (for
example) not all soname bumps were warranted.

No that's absolutely *not* what I said.

I pointed out that the large majority of the recent base library
releases (including the latest one) did *not* change the soname!

I feel we are miscommunicating.  Let me try to clear this out -- I am
counting only the major releases when there was a soname bump; the
regular point releases are not interesting for this discussion.

Then the discussion seems rather pointless ... since what you are calling the 'major' releases are those were we make ABI changes and bump the soname.

1.13.0 was released on 2006-08-28 according to the ChangeLog entry, so
for less than 3 years you put your word that you broke the ABI 6
times?  That's astonishing given the fact that Base is advertised as a
fairly stable library (and *it is*, more or less).

Yes, there's a *lot* of functionality there, and the core part of it is very stable, so the chances are that any individual ABI change will not break your application because the app will not be using the feature concerned. In particular, changes to class instance variable layouts will only effect applications which subclass the class concerned ... and that's very, very few applications for most classes.

Chasing MacOS-X is a problem for us .. sometimes Apple make changes which require ABI changes. Often they add new stuff, which we try to add too. If we don't get the additions quite right in one release, we need to fix them in the next release, and that fix may change the ABI with respect to the new feature, even though the ABI of the main part of the library is stable/unaffected. This can be something as trivial as implementing an obscure method with an argument of the wrong type (eg a long rather than an int), then having to change the argument type in a later release to match MacOS-X. Given that, I think it's more likely that we sometimes make a mistake and release without bumping the soname when we technically should, than that we accidentally bump the soname when we don't need to.




reply via email to

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