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