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