Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 83486 - libtool.eclass wrongly patches some ltmain.sh versions, breaking relinking.
Summary: libtool.eclass wrongly patches some ltmain.sh versions, breaking relinking.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 83485 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-02-27 11:05 UTC by Simone Gotti (RETIRED)
Modified: 2006-03-20 01:18 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
libtool-eclass.patch (libtool-eclass.patch,2.21 KB, patch)
2005-02-27 12:27 UTC, Martin Schlemmer (RETIRED)
Details | Diff
libtool-eclass.patch (libtool-eclass.patch,3.80 KB, patch)
2005-02-27 13:34 UTC, Martin Schlemmer (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simone Gotti (RETIRED) gentoo-dev 2005-02-27 11:05:02 UTC
Looks like libtools.eclass is broken as it doesn't make a ltmain.sh version check.

For example the patch "ELT-patches/fix-relink/1.4.0" is applied to ltmain.sh  version 1.5.6 and instead of fixing things (already fixed in this libtool version) it breaks relinking.

I found this in flac 1.1.1 and 1.1.2 ebuilds (bug #83485).

This will also happen for every ebuild that make an unuseful thing:
first call "elibtoolize --copy --force" and then calls "elibtoolize --reverse-deps".

I'll suggest to check the ltmain version before applying patches, instead of making a simple dry-run check.

If you think that my description is right I'll try to make a patch for it, just let me know.
Comment 1 Simone Gotti (RETIRED) gentoo-dev 2005-02-27 11:53:04 UTC
For who is interested the problem is that the patch ELT-patches/fix-relink/1.4.0 is applied also to libtool 1.5.x where the relink was already fixed and this piece:

@@ -2117,7 +2141,7 @@
            -L*)
              case " $tmp_libs " in
              *" $deplib "*) ;;
-             *) tmp_libs="$tmp_libs $deplib" ;;
+             *) tmp_libs="$deplib $tmp_libs" ;;
              esac
              ;;
            *) tmp_libs="$tmp_libs $deplib" ;;

broke it again as it reverse the -L order.
Comment 2 Martin Schlemmer (RETIRED) gentoo-dev 2005-02-27 12:26:02 UTC
The problem is not that bit, but that the 1.5.0 patch changes some other things
that the 1.4.0 do not, but for some reason still apply.  Over here with the proper
1.5.0 patch it works fine:

-----
nosferatu flac-1.1.2 # ldd /space/var/tmp/portage/flac-1.1.2/image/usr/lib/libFLAC++.so.5.0.0
        linux-gate.so.1 =>  (0xffffe000)
        libFLAC.so.7 => not found
        libc.so.6 => /lib/libc.so.6 (0xb7e85000)
        /lib/ld-linux.so.2 (0x80000000)
nosferatu flac-1.1.2 # epm -q flac
flac-1.1.1
nosferatu flac-1.1.2 #
Comment 3 Martin Schlemmer (RETIRED) gentoo-dev 2005-02-27 12:27:16 UTC
Created attachment 52258 [details, diff]
libtool-eclass.patch

Patch that gets the eclass to try and match version better.
Comment 4 Martin Schlemmer (RETIRED) gentoo-dev 2005-02-27 12:27:41 UTC
*** Bug 83485 has been marked as a duplicate of this bug. ***
Comment 5 Martin Schlemmer (RETIRED) gentoo-dev 2005-02-27 13:34:28 UTC
Created attachment 52266 [details, diff]
libtool-eclass.patch

Ok, this one runs revese through the patches (from larger version to smaller)
and
skips whatever patches if newer than libtool version.
Comment 6 Simone Gotti (RETIRED) gentoo-dev 2005-02-27 15:32:44 UTC
Your patch worked. Thanks a lot!
Comment 7 Martin Schlemmer (RETIRED) gentoo-dev 2005-03-23 10:03:58 UTC
Done.