* Christian Babeux ([email protected]) wrote: > This problem arise when cross compiling and linking libraries with > indirect libraries dependencies (such as liblttng-ust). This "bug" is > caused by an upstream modification in the libtool package on Debian > system. The libtool "link_all_deplibs" flag is set to "no" by default > on linux targets (AFAIK, other distros set it to "unknown"). > > The chosen solution is to detect such cases via the configure script > and automagically patch the libtool.m4 by forcing the "link_all_deplibs" > to "unknown". > > This fixup can be disabled with the appropriate configure flag: > > ./configure --disable-libtool-linkdep-fixup > > Sample configure output on affected systems: > > checking for occurence(s) of link_all_deplibs = no in > ./config/libtool.m4... 3 > configure: WARNING: the detected libtool will not link all > dependencies, forcing link_all_deplibs = unknown > > Signed-off-by: Christian Babeux <[email protected]>
Acked-by: Mathieu Desnoyers <[email protected]> > --- > configure.ac | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/configure.ac b/configure.ac > index 17e6b67..3a023cd 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -14,6 +14,31 @@ AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], > ["$version_description"], "") > > AC_CONFIG_HEADERS([include/config.h]) > > +AC_PROG_GREP > +# libtool link_all_deplibs fixup. See http://bugs.lttng.org/issues/321. > +AC_ARG_ENABLE(libtool-linkdep-fixup, > + AS_HELP_STRING([--disable-libtool-linkdep-fixup], > + [disable the libtool fixup for linking all dependent > libraries (link_all_deplibs)]), > + libtool_fixup=$enableval, > + libtool_fixup=yes) > + > +AS_IF([test "x$libtool_fixup" = "xyes"], > + [ > + libtool_m4="$srcdir/config/libtool.m4" > + libtool_flag_pattern=".*link_all_deplibs\s*,\s*\$1\s*)" > + AC_MSG_CHECKING([for occurence(s) of link_all_deplibs = no in > $libtool_m4]) > + libtool_flag_pattern_count=$(grep -c > "$libtool_flag_pattern\s*=\s*no" $libtool_m4) > + AS_IF([test $libtool_flag_pattern_count -ne 0], > + [ > + AC_MSG_RESULT([$libtool_flag_pattern_count]) > + AC_MSG_WARN([the detected libtool will not link all > dependencies, forcing link_all_deplibs = unknown]) > + sed -i "s/\($libtool_flag_pattern\)\s*=\s*no/\1=unknown/g" > $libtool_m4 > + ], > + [ > + AC_MSG_RESULT([none]) > + ]) > + ]) > + > AC_CHECK_HEADERS([ \ > sys/types.h unistd.h fcntl.h string.h pthread.h limits.h \ > signal.h stdlib.h sys/un.h sys/socket.h stdlib.h stdio.h \ > -- > 1.7.11.3 > > > _______________________________________________ > lttng-dev mailing list > [email protected] > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
