tag 655619 + patch thanks On Thu, Jan 12, 2012 at 08:53:39PM +0100, Jakub Wilk wrote: > clone 648141 -1 > severity -1 important > retitle -1 cairo: FTBFS with old libtool: saving rejects to file > build/ltmain.sh.rej > notfound -1 1.10.2-6.1 > fixed 648141 1.10.2-6.2 > thanks > > * Dave Anglin <dave.ang...@bell.net>, 2012-01-11, 20:20: > >... > >build/configure.ac.features:23: CAIRO_ENABLE is expanded from... > >configure.ac:646: the top level > >test/Makefile.am:1735: `%'-style pattern rules are a GNU make extension > >test/Makefile.am:1736: <: non-POSIX variable name > >build/Makefile.am.changelog:57: `%'-style pattern rules are a GNU make > >extension > >Makefile.am:80: `build/Makefile.am.changelog' included from here > >patch -Np1 < debian/ltmain_as-needed.patch > >patching file build/ltmain.sh > >Hunk #1 succeeded at 4716 (offset -1084 lines). > >Hunk #2 FAILED at 6168. > >1 out of 2 hunks FAILED -- saving rejects to file build/ltmain.sh.rej > >make: *** [configure-common-stamp] Error 1 > >dpkg-buildpackage: error: debian/rules build gave error exit status 2 > >Build command 'cd cairo-1.10.2 && dpkg-buildpackage -b -uc' failed. > >Fetched 23.6 MB in 33s (712 kB/s) > >E: Child process failed > > Presumably your libtool is out of date. I should have made > build-dependency versioned in my NMU.
The issue is a pretty basic context change, which can be solved by moving the inserted code to a place where context doesn't change between old libtool and new one. patch -F could normally work, but not here, for some reason. Here is a patch of the patch. Mike
--- old/cairo-1.10.2/debian/ltmain_as-needed.patch 2011-12-13 19:04:54.000000000 +0100 +++ cairo-1.10.2/debian/ltmain_as-needed.patch 2012-03-09 10:43:46.521412554 +0100 @@ -14,10 +14,10 @@ -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result -@@ -6163,6 +6168,15 @@ - lib= - found=no - case $deplib in +@@ -6179,6 +6184,15 @@ + fi + continue + ;; + -Wl,--as-needed) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" @@ -27,6 +27,6 @@ + fi + continue + ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + func_warning "\`-l' is ignored for archives/objects"