Gentoo Archives: gentoo-dev

From: Joakim Tjernlund <Joakim.Tjernlund@××××××××.com>
To: "gentoo-dev@l.g.o" <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] [EAPI 7] Cross-compile improvements (BDEPEND, BROOT, sysroot)
Date: Thu, 03 Dec 2015 08:23:20
Message-Id: 1449130978.14754.49.camel@infinera.com
In Reply to: [gentoo-dev] [EAPI 7] Cross-compile improvements (BDEPEND, BROOT, sysroot) by James Le Cuirot
1 On Tue, 2015-12-01 at 22:58 +0000, James Le Cuirot wrote:
2
3
4 [SNIP really good writeup, thanks :)]
5
6 > There's also a further complication here that I forgot to mention to
7 > mgorny. While calling configure with --with-sysroot certainly helps,
8 > it still stumbles on a significant number of packages that do
9 > relinking at the end of the build if elibtoolize hasn't been called.
10 > elibtoolize has long patched ltmain.sh with ELT-patches/cross/link-ROOT
11
12 I looked at ELT-patches/cross/link-ROOT and it has
13 --- libltdl/config/ltmain.sh 2008-09-07 19:56:33.000000000 +0200
14 +++ libltdl/config/ltmain.sh.new 2009-02-15 20:37:47.000000000 +0100
15 @@ -5768,7 +5768,7 @@
16          test "$hardcode_direct_absolute" = no; then
17         add="$libdir/$linklib"
18       elif test "$hardcode_minus_L" = yes; then
19 -       add_dir="-L$libdir"
20 +       add_dir="-L$ROOT/$libdir"
21         add="-l$name"
22       elif test "$hardcode_shlibpath_var" = yes; then
23         case :$finalize_shlibpath: in
24 @@ -5785,7 +5785,7 @@
25         fi
26       else
27         # We cannot seem to hardcode it, guess we'll fake it.
28 -       add_dir="-L$libdir"
29 +       add_dir="-L$ROOT/$libdir"
30
31 I think this should be "add_dir=-L$lt_sysroot$libdir" rather than ROOT.
32 See also bug https://bugs.gentoo.org/show_bug.cgi?id=521184
33 and since I think this is also a libool bug there is a post upstream
34  http://lists.gnu.org/archive/html/libtool/2015-10/msg00012.html
35 This has not gotten any attention from upstream libtool folks. Would
36 be great if someone more could push for such a change.
37
38  Jocke
39
40 > when cross-compiling and this still applies to the very latest libtool.
41 > I filed several bugs about this before realising that fixing this
42 > globally would be better. elibtoolize doesn't require anything to be
43 > installed and the description does say "this function should always be
44 > safe to run" but I suppose calling it unconditionally might screw up
45 > patching in some isolated cases. What do you think?
46 >
47 > Phew, I'm done. Please be gentle! :)
48 >

Replies