Review Request 110563: Crash fix: hide symbols from static lib QtUitools.a (generically by new macro KDE4_HIDE_SYMBOLS_FROM_STATIC_LIBS)

Friedrich W. H. Kossebau kossebau at
Wed May 22 12:19:46 BST 2013

This is an automatically generated e-mail. To reply, visit:

(Updated May 22, 2013, 11:19 a.m.)

Review request for Build System, kdelibs, Alexander Neundorf, and Thiago Macieira.


Put "Crash" keyword in title, to get more attention.
Also set Alex and Thiago explicitely as reviewers.

Want to get this in ASAP, before 4.10.4

Summary (updated)

Crash fix: hide symbols from static lib QtUitools.a (generically by new macro KDE4_HIDE_SYMBOLS_FROM_STATIC_LIBS)


Like discussed in the thread "Crashes with libQtUiTools.a if linked multiple times into the same process (with Bsymbolic-functions flag)" on kde-core-devel ( ) symbols from QtUitools.a are not hidden by default in Qt4 and thus will be added to the public symbols of the module/shared lib they are linked to. And thus can appear multiple times in the same process, resulting in symbol clashes and leading to problems at least with the Bsymbolic-functions flag or when being possibly incompatible versions.

Attached patch sees to solve that problem, by adding a macro KDE4_HIDE_SYMBOLS_FROM_STATIC_LIBS which should add any needed linker flags depending on the platform/linker used. 

Only issue is that instead of some variable I had to use "QtUiTools.a" as I found no variable which would resolve to that. E.g. ${QT_QTUITOOLS_LIBRARY} resolves to "Qt4::QtUiTools" for me. Any idea what to use there, in case another platform needs another name/prefix here?

Patch is against 4.10 branch, so I hope to get this in 4.10.4 shows that there are some more places where the symbols need hiding, but I first want feedback on the proposed approach.


  cmake/modules/FindKDE4Internal.cmake cb63285 
  cmake/modules/KDE4Macros.cmake 3db4e24 
  kjsembed/kjsembed/CMakeLists.txt d70f260 
  kross/modules/CMakeLists.txt d245fd8 
  kross/qts/CMakeLists.txt d8cb4a5 
  plasma/CMakeLists.txt 674550d 




Friedrich W. H. Kossebau

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
Kde-buildsystem mailing list
Kde-buildsystem at

More information about the kde-core-devel mailing list