KJSEmbed removal part 2

Leo Savernik l.savernik at aon.at
Wed Jul 25 19:27:44 BST 2007


Am Mittwoch, 25. Juli 2007 schrieb Alex Merry:
> 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.

Makes sense. So actually direct kjsembed linkage outside of kdelibs is 
forbidden for KDE 4.0? Then the issue I mentioned is void. 

mfg
	Leo




More information about the kde-core-devel mailing list