Distro patch to libtool on Debian Wheezy/Ubuntu Oneiric breaks compile of rrdtool (Was: Re: Compile failure due to libwrap on Ubuntu 11.10)
Alex Bennee <[email protected]> Tue, 20 Dec 2011 17:33:51 +0000
| Newsgroups | gmane.comp.db.rrdtool.devel,gmane.linux.ubuntu.devel.discuss |
|---|---|
| Message-ID | <CAJ-05NOXj9YgBDVSG9QbC+RxfR7DqbV8Ncb1SrDDV56A3=mG6g@mail.gmail.com> |
On 20 December 2011 15:46, Tobias Oetiker <[email protected]> wrote: > Hi Alex, > > Yesterday Alex Bennee wrote: > >> On 19 December 2011 17:00, Tobias Oetiker <[email protected]> wrote: >> > Alex, >> > >> > your system seems to be using a different version of libtool ... >> > so did you run MakeMakefile ? >> >> No, isn't that part of the configure/autogen stuff? > > MakeMakefile calls the auto* tools in a way so that all the right > bits get put into place ... > > libtool gets created by libtoolize as far as I know ... OK after much bisecting I've narrowed it down to a patch in libtool 2.4 added by Debian in libtool 2.4-1 The result moves the processing of dependancy_libs in libtool which breaks the passing of the flags in the subtle and maddening way discussed. I've attached the libtool patch for reference. Once I've figured out what it's trying to achieve I'll raise a bug with Debian/Ubuntu to fix their libtool and then we'll finally be able to build a newer rrdtool on Debian. -- Alex, homepage: http://www.bennee.com/~alex/ http://www.half-llama.co.uk _______________________________________________ rrd-developers mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers
deplib_binary.patch
(text/x-patch, 1.2 KB)
Index: libtool-2.4/libltdl/config/ltmain.m4sh =================================================================== --- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-03-27 21:52:59.000000000 +0000 +++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-03-27 22:06:06.000000000 +0000 @@ -5644,19 +5644,19 @@ # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done continue fi # $pass = conv