Reducing library dependancies

Maksim Orlovich mo85 at cornell.edu
Mon Aug 4 16:21:43 BST 2008


On Monday 04 August 2008 11:16:09 Thiago Macieira wrote:
> On Monday 04 August 2008 15:59:12 Dirk Mueller wrote:
> > It also reminds me that almost everything links against kio for (little)
> > reason. KIO is an extremely huge dependency. It pulls in 3 different XML
> > readers alone (QtXml for some kdecore stuff, libxml2 for strigi support
> > (which is only needed optionally in one kio class, and expat for
> > fontconfig parsing (because kio depends on kdeui for historic reasons).
> > libxml2 is a big dependency, it has a lot of relocations against internal
> > symbols (-Bsymbic- functions would help with that but not every
> > distribution builds with it).
>
> QtXml in KIO and in kdecore would be one of the libraries pruned by --as-
> needed. It's not needed in KIO nor in kdecore.
>
> It's an indirect dependency only because QtDBus uses it. 
>
> But since it
> doesn't expose that in the API, I have a task to rewrite the parser to
> QXmlStreamReader (which is in QtCore).

kdeui (XMLGui) uses it as well. Unfortunately, that also exposes QDom* in the 
API, so QXmlStreamReader isn't an option.

> Also, I don't see libexpat in my kdeui's ldd. Does fontconfig dynamically
> load it?

Here (MDV), FontConfig linked to libxml2 --- probably a build-time option.

> libkdeui.so.5: 15390 relocations, 5801 relative (37%), 2591 PLT entries, 0
> for local syms (0%), 0 users

Ouch. Any good way of getting an idea of what the non-relative ones are?






More information about the kde-core-devel mailing list