Bug 240120 - libkutils does not link to libkcmutils
Summary: libkutils does not link to libkcmutils
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: SVN
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-30 18:45 UTC by FernandoMiguel
Modified: 2010-05-31 12:39 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description FernandoMiguel 2010-05-30 18:45:21 UTC
Version:           CVS (using Devel) 
OS:                Linux

kmail wont start, due to abi break

Reproducible: Always

Steps to Reproduce:
start kmail

Actual Results:  
kmail to open

Expected Results:  
$ kmail
kmail: symbol lookup error: /usr/lib/libkmailprivate.so.4: undefined symbol: _ZN13KCMultiDialog16staticMetaObjectE


kdelibs5 4:4.4.80-0ubuntu1
Comment 1 Jonathan Thomas 2010-05-30 18:47:42 UTC
Not a downstream bug, before anybody asks. Libkutils was split into separate libraries without proper steps to ensure ABI compatibility being taken.
Comment 2 Jonathan Riddell 2010-05-30 18:49:21 UTC
This is caused by libkutils.so not including the symbols for kcm classes any more.  They have been moved to libkcmutils.so

kutils does not link to kcmutils, at least in the Kubuntu packages.

Maybe there is some magic flag to force kutils to link to kcmutils.
Comment 3 Jonathan Thomas 2010-05-30 18:51:08 UTC
This apparently only happens on systems that use the --as-needed option for linking, but the use of that flag is a very valid usecase.
Comment 4 Jonathan Riddell 2010-05-30 22:56:24 UTC
Yes, we build with
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--no-undefined -Wl,--as-needed"
so that needs to be overridden for the new libkutils

I tried adding  "LINK_FLAGS -Wl,--no-as-needed" to set_target_properties() in kutils/CMakeLists.txt but that just results in both --as-needed and --no-as-needed being called and seems --as-needed wins
Comment 5 Kevin Ottens 2010-05-31 11:41:26 UTC
Should be something else. Tried passing --as-needed or not, and it doesn't make any difference for me, in both cases libkutils links against libkcmutils, libkidletime, libkprintutils and libkemoticons as expected.

Still needs investigating, really this libkutils split should be BC.
Comment 6 Kevin Ottens 2010-05-31 12:39:57 UTC
SVN commit 1132757 by ervin:

Be much more aggressive about using the symbols coming from the other
libraries split out from the old libkutils.

Otherwise for some reason some new linker manage to avoid depending on
libkcmutils and friends. You just gotta love when linker behavior change
behind your back. ;-)

BUG: 240120



 M  +9 -0      dummy.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1132757