Binary compatibility broken? between 3.3.1 and 3.3.2

Thiago Macieira thiago.macieira at kdemail.net
Thu Dec 2 20:13:35 GMT 2004


Rex Dieter wrote:
>Couldn't new public symbols be tagged in the shared lib, similar to how
>glibc does it, like:
>libc.so.6(GLIBC_2.1)

glibc does that for multiple versions of the symbols. Not to mark the 
entry of new ones.

>So, this new kdelibs-3.3.2 symbol would generate a dependancy something
>like:
>libkdecore.so.4(KDE_3.3.2)
>
>If it was done this way, binary compatibility would be seemless, and it
>would make packagers' (rpm, deb whatever) life a lot simpler.
>
>IMO, qt could try do to this to, even between qt-x.y -> qt-x.(y+1)
>upgrades, since the shared lib is the same libqt-mt.so.3

It is much easier said than done. We're dealing with C++ here, and not 
everything is easily versioned. Imagine, for instance, versioning the 
virtual table, or the typeinfo. For that matter, remember that C++ 
mandates only one typeinfo, so you can't even think of versioning it.

It would make sense to mark a symbol's entry date to the library, as you 
proposed. That would readily tag a dependency against its minimal 
versions. 

However, not using a newer method doesn't mean you don't require a newer 
behaviour. That could give a false illusion to developers and packagers.
-- 
  Thiago Macieira  -  Registered Linux user #65028
   thiago (AT) macieira (DOT) info
    ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20041202/2c1be546/attachment.sig>


More information about the kde-core-devel mailing list