1 |
%% Paul de Vrieze <pauldv@g.o> writes: |
2 |
|
3 |
pdv> On Friday 23 April 2004 21:45, Paul Smith wrote: |
4 |
|
5 |
>> It does _NOT_ change where DEPEND packages are searched for: |
6 |
>> they're still searched for on the native system not in the ROOT |
7 |
>> system. If the native system and the root system are very |
8 |
>> different, that doesn't seem like it can work properly. |
9 |
|
10 |
pdv> No it will probably not. You must understand though that adding |
11 |
pdv> something to DEPEND only tells portage that that package should |
12 |
pdv> be available, but it does not change the build process or it's |
13 |
pdv> native checks. As such the package itself searches for headers |
14 |
pdv> and libraries in the root directory. |
15 |
|
16 |
Certainly, but that's just a straightforward (heh! :)) cross-compiler |
17 |
issue: that's been a solved problem for years--not in Gentoo or Portage |
18 |
maybe, but in development communities. |
19 |
|
20 |
In this discussion I'm more concerned about issues specifically related |
21 |
to the way Portage itself is structured, not how the compile commands |
22 |
that ebuilds work. |
23 |
|
24 |
>> More generally, what I want to be able to do is build for a target |
25 |
>> (ROOT) a specific set of packages and versions _without_ having to |
26 |
>> modify my physical system in any way. I don't want the build of the |
27 |
>> ROOT to have any relationship to what I have installed on my physical |
28 |
>> system. If I want ROOT to have a version of a package that doesn't work |
29 |
>> with a newer version of GTK or whatever, I don't want to have to |
30 |
>> downgrade the version on my physical system in order to build that |
31 |
>> ROOT. Maybe I want to create a ROOT system with a KDE desktop but don't |
32 |
>> want KDE installed on my build system. Etc. |
33 |
|
34 |
pdv> That is not possible, the only way to do it is with a chroot jail |
35 |
pdv> such that you create a similar environment. |
36 |
|
37 |
No; it certainly _IS_ possible. I'm doing it today, although I've had |
38 |
to do some hacking to Portage to get it to work. I'd like to see some |
39 |
of my changes move into Portage to allow it to become more flexible and |
40 |
to decrease the extent of my hacking. |
41 |
|
42 |
As you point out, there is some work required to get the compiler to |
43 |
find the things in the correct places, but again this is just the norm |
44 |
for any cross-compiler setup so it's not any extra work. We have a |
45 |
shell wrapper in front of gcc and g++ which sets things up based on an |
46 |
environment variable rather than hardcoded pathnames. |
47 |
|
48 |
|
49 |
Chroot is not an attractive option for me. First, it's confusing in a |
50 |
cross-compiled environment; you have to install a complete _HOST_ setup |
51 |
in the _TARGET_ image (since that's where the chroot will leave you) so |
52 |
that you can run the cross-compilers: you need a HOST glibc, ld.so, |
53 |
etc. in the target image for use during the compile, as well the normal |
54 |
target glibc, ld.so, etc. so it's difficult to set up either way. Also, |
55 |
it requires root privileges which raises its own set of concerns in some |
56 |
circles. |
57 |
|
58 |
-- |
59 |
------------------------------------------------------------------------------- |
60 |
Paul D. Smith <psmith@××××××××××××××.com> HASMAT--HA Software Mthds & Tools |
61 |
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist |
62 |
------------------------------------------------------------------------------- |
63 |
These are my opinions---Nortel Networks takes no responsibility for them. |
64 |
|
65 |
-- |
66 |
gentoo-dev@g.o mailing list |