[kde-freebsd] devel/kdebindings4-smoke-smokegen: rpath patch

Andriy Gapon avg at FreeBSD.org
Fri Jun 15 11:07:53 UTC 2012


I have to use the following patch with devel/kdebindings4-smoke-smokegen to make
smokegen usable when it is built with gcc46.

--- CMakeLists.txt.orig	2012-06-15 00:20:02.580433984 +0300
+++ CMakeLists.txt	2012-06-15 00:20:49.925432661 +0300
@@ -35,6 +35,7 @@ set(generator_SRC
 # force RPATH so that the binary is usable from within the build tree
 set (CMAKE_SKIP_BUILD_RPATH FALSE)
 set (CMAKE_SKIP_RPATH FALSE)
+set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

 configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )

With this patch:
$ objdump -x -w /usr/local/kde4/lib/smokegen/generator_smoke.so | fgrep RPATH
  RPATH       /usr/local/lib/gcc46:/usr/local/lib/qt4

Without this patch there is no RPATH recorded in generator_smoke.so.  When
smokegen dynamically loads this module rtld performs NEEDED search in the usual
path and so it find e.g. libstdc++ in /usr/lib whilst the module is actually
linked against libstdc++ /usr/local/lib/gcc46 and this leads to unresolvable
symbols and load failure.

I am not sure if the proposed change can break anything in the default setup.

-- 
Andriy Gapon



More information about the kde-freebsd mailing list