libkdeinit_ libraries

Michael Matz matz at kde.org
Thu Jul 17 12:28:00 BST 2003


Hi,

On Thu, 17 Jul 2003, Waldo Bastian wrote:

> The problem is that the kdemain() is placed in the wrong library.

It should be inside libkdeinit_bla.la.

> dcopserver.la gets linked against dcopserver_dummy.lo (which is build from the
> empty dcopserver_dummy.cpp) and libkdeinit_dcopserver.la. So
> libkdeinit_dcopserver.la contains kdemain, but dcopserver.la itself does not.

As bla.la is linked against libkdeinit_bla.la which contains kdemain, this
symbol should be available for dlsym() on a dlopen()'ed bla.la (even if
loaded RTLD_LOCAL).  If that's not the case I would find that a bug in
dlsym.  Possibly we have to workaround that then by placing another
forwarder function also into the KLM, and not only into the executable.

> IMHO A solution would be to let dcopserver_dummy.cpp contain a forward
> declaration just like dcopserver.la.cpp, instead of being empty.

Declaration isn't enough.  It must be a new forwarder function.


Ciao,
Michael.





More information about the kde-core-devel mailing list