From 0ee4a237c6848d65d3233edbc1a16051fa6dd027 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Adrien=20Verg=C3=A9?= Date: Fri, 25 Apr 2014 12:12:24 -0400 Subject: [PATCH] Fix linking failure when cross-compiling MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Examples binaries in doc/examples require libs in liblttng-ust/.libs/, and those libs require other libs in the same directory. For instance liblttng-ust.so uses liblttng-ust-tracepoint.so symbols, so the latter is needed to properly link example programs. Currently, ld is given the lib dir only via -rpath (used for linking executables dependencies) but not via -rpath-link (used for linking libs dependencies). When compiling regularly, this does not seem to be a problem (maybe ld is smart enough). However when cross-compiling with the arm-linux-gnueabihf toolchain, -rpath-link is needed otherwise linking fails with: arm-linux-gnueabihf/bin/ld: warning: liblttng-ust-tracepoint.so.0, needed by ../../../liblttng-ust/.libs//liblttng-ust.so, not found (try using -rpath or -rpath-link) This patch adds -rpath-link to doc/examples/Makefile.am. Signed-off-by: Adrien Vergé Signed-off-by: Mathieu Desnoyers --- doc/examples/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 0d341c82..1e4ef99d 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -70,7 +70,7 @@ all-local: rel_build_subdir="../"; \ fi; \ for subdir in $(SUBDIRS_PROXY); do \ - (cd $$subdir && $(MAKE) AM_CC="$(CC)" AM_CPPFLAGS="$(CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" AM_CFLAGS='$(CFLAGS)' AM_LDFLAGS='$(LDFLAGS) -L../../../liblttng-ust/.libs/ -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ + (cd $$subdir && $(MAKE) AM_CC="$(CC)" AM_CPPFLAGS="$(CPPFLAGS) -I$$rel_src_subdir$(top_srcdir)/include/ -I$$rel_build_subdir$(top_builddir)/include/" AM_CFLAGS='$(CFLAGS)' AM_LDFLAGS='$(LDFLAGS) -L../../../liblttng-ust/.libs -Wl,-rpath="$(PWD)/../../liblttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../liblttng-ust/.libs/"' LTTNG_GEN_TP_PATH="../../../tools/" $(AM_MAKEFLAGS) all && cd ..) || exit 1; \ done; \ if [ x"$(SUBDIRS_JUL)" != x"" ]; then \ for subdir in $(SUBDIRS_JUL); do \ -- 2.34.1