libkdeinit_ libraries

Michael Matz matz at
Thu Jul 17 16:26:40 BST 2003


On Thu, 17 Jul 2003, Adriaan de Groot wrote:

> Which ones are the libraries?

libkdeinit_bla.* (* should be .so and .la, sometimes also .so.0) is the
library.  It should be placed in $prefix/lib .  This one contains the
kdemain() symbol.

bla.* (* == .so and .la) is the KLM.  It should be placed into
$prefix/lib/kde3.  This one links against the above library.

bla itself (in $prefix/bin) is the executable.  It also links against the

> I have five DSOs related to dcopserver,


> > It should be investigated, why the DSO in question didn't provide a
> > kdemain symbol, and second why kinit didn't look for main in that case.
> It's not about the symbol that's being searched for,

It is.  You fixed the symtom of kdemain() not being found in by
also search libkdeinit_bla, and thats wrong.  Instead the fact that
kdemain() wasn't found in needs to be fixed, because it should be
found there.  It links against, which provides that
symbol, and when dlopen'ing dlsym() should be able to see that
symbol.  It's possible that there are bugs in which make dlsym not
see it, and in that case we have to work-around such bugs by also
introducing a real function calling kdemain() into

> Perhaps the question should be: why so many DSO's?

There are exactly three DSO involved (see above): a library, a module and
an executable.  And that's the way it needs to be for some platforms.


More information about the kde-core-devel mailing list