[Kde-pim] Need help with the undefined reference hack

Christophe Giboudeaux cgiboudeaux at gmx.com
Wed Oct 19 09:57:02 BST 2011


On Wednesday 19 October 2011 10:26:12 Christian Mollekopf wrote:
> On Tuesday, October 18, 2011 5:53 PM, "Milian Wolff" <mail at milianw.de>
> 
> wrote:
> > On Tuesday 18 October 2011 14:39:19 Christian Mollekopf wrote:
> > > Hi,
> > > 
> > > With the refactoring of the nepomukfeeder to a plugin based architecture
> > > we
> > > ran into the problem that the nepomuk_email_feeder in kdepim has to
> > > depend on
> > > code in kdepim-runtime (because we can't push the code into kdepimlibs
> > > yet).
> > > We decided to go for a workaround until we can push the necessary libs
> > > into
> > > kdepimlibs.
> > > 
> > > The idea is to create a runtime dependency on the necessary lib in
> > > kdepim-
> > > runtime, but I failed so far to create something which actually works.
> > > To ignore the unresolved symbols (which are supposed to be resolved
> > > during
> > > runtime) these options were added:
> > > set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS
> > > "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}
> > > -Wl,--allow-shlib-undefined,--warn-
> > > unresolved-symbols,--no-fatal-warnings")
> > > 
> > > Now I need to tell the linker that the library with the name
> > > nepomukfeederpluginlib will resolve the symbols on runtime, but in a way
> > > that
> > > it is not needed to compile the code.
> > > Currently the nepomukfeederpluginlib is not linked to the
> > > nepomuk_email_feeder
> > > at all, but that leads to unresolved symbols during runtime.
> > > 
> > > I suppose it should be possible somehow tell the nepomuk_email_feeder
> > > that the
> > > nepomukfeederpluginlib will resolve the unknown symbols but couldn't
> > > figure out
> > > how so far. Is there maybe some linker option?
> > > target_link_libraries is not an option because it creates a compiletime
> > > dependency.
> > 
> > Cannot help sadly, probably just cause some more problems:
> > 
> > - will this work on other platforms?
> > - will this work with different linkers (esp. ld.gold vs old ld?)
> 
> I think André Heinecke made it work on windows, not sure about mac.
> It is quite possible that this breaks with other linkers/platforms and I
> don't have another solution to that than disabling the email_feeder.
> It's only a temporary solution and not a critical part of the system
> after all.

The nepomuk_email_feeder was disabled for Windows and Mac which confirms that 
silencing the build errors is a mistake that must be avoided at all cost.

In the current state, kdepim 4.8 cannot be released, so unless a real fix is 
applied, I suggest reverting this dirty hack and resurrect the previous email 
feeder.

Also, note that the kdepim-runtime plugin still doesn't have an acceptable 
license (http://ebn.kde.org/krazy/reports/kde-4.x/kdepim-
runtime/agents/index.html). In the current state, it cannot be moved in 
kdepimlibs.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20111019/af9cca83/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list