[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [kactivities] [Bug 305529] kactivitymanagerd crashes on startup [ActivityRankingPlugin]
From:       Andriy Gapon <avg () icyb ! net ! ua>
Date:       2013-04-10 14:08:17
Message-ID: bug-305529-17878-f9N8PTAf2n () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=305529

--- Comment #10 from Andriy Gapon <avg@icyb.net.ua> ---
Further info.
It looks like on Linux cmake would automatically add -rdynamic option when
calling gcc as a linker.
-rdynamic translates to -export-dynamic linker option.

In my copy of cmake files cmake/Modules/Platform/Linux-GNU.cmake defines
__linux_compiler_gnu macro:
macro(__linux_compiler_gnu lang)
  # We pass this for historical reasons.  Projects may have
  # executables that use dlopen but do not set ENABLE_EXPORTS.
  set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-rdynamic")
endmacro()

and then cmake/Modules/Platform/Linux-GNU-CXX.cmake has:
include(Platform/Linux-GNU)
__linux_compiler_gnu(CXX)

This treatment is not applied to FreeBSD with GNU/GCC toolchain.
Perhaps a bug in cmake?

Could anyone please double-check with make VERBOSE=1 that -rdynamic is indeed
used on Linux when linking kactivitymanagerd?

in any case,  according to the above comment the following property should be a
cross-platform solution:
http://www.cmake.org/cmake/help/v2.8.10/cmake.html#prop_tgt:ENABLE_EXPORTS

Also, perhaps it would make sense to amend the FreeBSD ports framework to set
CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS at least for Qt and KDE ports.

-- 
You are receiving this mail because:
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic