KJSEmbed removal part 2

Alex Merry huntedhacker at tiscali.co.uk
Wed Jul 25 18:37:37 BST 2007


On Wednesday 25 Jul 2007, Leo Savernik wrote:
> If you upgrade kdelibs *only* to 4.1, by definition of BC, all
> installed apps for KDE 4.0 must run unaltered. However, as kjsembed
> vanishes with the upgrade, KFoo linking against kjsembed stops
> working.
>
> So why is removing a library BC just because it isn't referenced in
> a .la-file?

I think it depends on the linking method.  We stop applications linking 
directly to libkjsembed, fine.  However, libfoo in kdelibs links to 
libkjsembed.

When linking an application that uses libfoo, the linker can (as I 
understand it) do one of two things.

It can just link to libfoo, and let the loader deal with the 
dependencies.  In this case, if libfoo is updated to not depend on 
libkjsembed and libkjsembed is removed, the application no longer 
depends on libfoo (because when the loader looks through the 
dependencies of libfoo, libkjsembed is no longer listed).

However, the linker can also link the application directly to libfoo and 
all its dependencies (which is one things that .la files are used for), 
including libkjsembed.  In this case the loader will see libkjsembed in 
the dependencies of the application, regardless of the dependencies of 
libfoo, and will bail out if it can't be found.

Note: this may be wrong, this is just my understanding from the 
conversation so far and what I know of dynamic linking.

Alex


-- 
KDE: http://www.kde.org
Ubuntu/Kubuntu: http://www.ubuntu.org http://www.kubuntu.org
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20070725/96e24f9f/attachment.sig>


More information about the kde-core-devel mailing list