Gentoo Archives: gentoo-dev

From: Paul de Vrieze <pauldv@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] BUILDROOT concept (was Re: [gentoo-dev] ROOT variable)
Date: Sat, 24 Apr 2004 18:59:12
Message-Id: 200404242059.05777.pauldv@gentoo.org
In Reply to: Re: [gentoo-dev] BUILDROOT concept (was Re: [gentoo-dev] ROOT variable) by Paul Smith
1 On Saturday 24 April 2004 14:57, Paul Smith wrote:
2 >
3 > Certainly, but that's just a straightforward (heh! :)) cross-compiler
4 > issue: that's been a solved problem for years--not in Gentoo or Portage
5 > maybe, but in development communities.
6 >
7 > In this discussion I'm more concerned about issues specifically related
8 > to the way Portage itself is structured, not how the compile commands
9 > that ebuilds work.
10 >
11 > pdv> That is not possible, the only way to do it is with a chroot jail
12 > pdv> such that you create a similar environment.
13 >
14 > No; it certainly _IS_ possible. I'm doing it today, although I've had
15 > to do some hacking to Portage to get it to work. I'd like to see some
16 > of my changes move into Portage to allow it to become more flexible and
17 > to decrease the extent of my hacking.
18 >
19 > As you point out, there is some work required to get the compiler to
20 > find the things in the correct places, but again this is just the norm
21 > for any cross-compiler setup so it's not any extra work. We have a
22 > shell wrapper in front of gcc and g++ which sets things up based on an
23 > environment variable rather than hardcoded pathnames.
24
25
26 You are right. With gcc/g++/ld (and other) wrappers it is indeed possible to
27 do this. As such wrappers are not provided by gentoo (at least not for this
28 purpose) I did not take it into account.
29
30
31 >
32 >
33 > Chroot is not an attractive option for me. First, it's confusing in a
34 > cross-compiled environment; you have to install a complete _HOST_ setup
35 > in the _TARGET_ image (since that's where the chroot will leave you) so
36 > that you can run the cross-compilers: you need a HOST glibc, ld.so,
37 > etc. in the target image for use during the compile, as well the normal
38 > target glibc, ld.so, etc. so it's difficult to set up either way. Also,
39 > it requires root privileges which raises its own set of concerns in some
40 > circles.
41
42 Well, cross environments have been quite lacking for some time as the people
43 working on it went to zynot. You could work on getting the wrapper scripts
44 together with your portage patches accepted, but the wrappers are an
45 indispensible part. While you're at it, you could enhance the wrappers to
46 also also remove the /var/tmp/... part from the linking paths ;-)
47
48 Paul
49
50 --
51 Paul de Vrieze
52 Gentoo Developer
53 Mail: pauldv@g.o
54 Homepage: http://www.devrieze.net