Closed mtasaka closed 4 months ago
Or explicitly pass -rdynamic
?
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e0cb247f..dd09bfb2 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -47,6 +47,10 @@ target_link_libraries (${PROJECT_NAME}
gldi
${LIBINTL_LIBRARIES})
+target_link_options (${PROJECT_NAME}
+ PRIVATE
+ "-rdynamic")
+
# install the program once it is built.
install(
Hi, thank you for the detailed analysis. It seems that the behavior changed with newer CMake versions: https://cmake.org/cmake/help/latest/policy/CMP0065.html
What is very strange that I don't have this problem; even though I confirmed that -rdynamic
is not used, the Help applet works. Probably there is a difference based on compiler / linker version though.
How about the following patch:
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b126b637..83df531a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -41,6 +41,8 @@ link_directories(
add_executable (${PROJECT_NAME}
${cairo_dock_SRCS} )
+set_target_properties (${PROJECT_NAME} PROPERTIES ENABLE_EXPORTS True)
+
# Link the executable to the librairies.
target_link_libraries (${PROJECT_NAME}
${PACKAGE_LIBRARIES}
This seems to be the "recommended" solution (see e.g. the the above link), although I'm not sure if there is a difference from just setting -rdynamic
Let me know if #21 also works for you and then I'll merge it. Thanks!
Trying with https://github.com/Cairo-Dock/cairo-dock-core/commit/1f316862d9d4d28e11283d67a79724ce94e93280 , "Help" module does not appear.
Although
cairo_dock_show_items_gui
is defined insrc/cairo-dock-gui-backend.c
which is linked intocairo-dock
binary, actually latest headcairo-dock
binary does not have this symbol:On the other hand,
cairo-dock
3.5.0 does have this symbol:Some debugging seems to suggest this is due to this change: https://github.com/Cairo-Dock/cairo-dock-core/commit/9558f8245bd039eea590c3c77e4e5955da686a14
With this change, compiling cairo-dock no longer have
-rdynamic
.cairo_dock_show_items_gui
symbol itself is not used incairo-dock
binary, yet it is used inlibcd-Help.so
when ldopen'ing it, so missing-rdynamic
flag makeslibcd-Help.so
no longer working.Looks like the following change makes compiler flag add
-rdynamic
again, but I don't know howcmake_minimum_required
works with compilation flags :-( cmake is difficult...