1 |
Mark Knecht posted |
2 |
<5bdc1c8b0511290336j39d95625g3f9d48b80d04827b@××××××××××.com>, excerpted |
3 |
below, on Tue, 29 Nov 2005 03:36:29 -0800: |
4 |
|
5 |
> At the time I first built k3b on the system it seemed that ~amd64 didn't |
6 |
> build. I tried ~x86 not knowing better and it did. I continued to use k3b |
7 |
> that way successfully. |
8 |
> |
9 |
> Subsequent to this thread I changed it to ~amd64 last evening and it built |
10 |
> fine. I have not used it yet, but as you say it's the same version so it |
11 |
> should work. |
12 |
|
13 |
It probably needed something else that you didn't have (that was/is still |
14 |
marked ~arch for one or the other) the first time you tried it with |
15 |
~amd64. By the time you rebuilt it ~x86, you had it or it pulled it in |
16 |
there. Now that you have that dependency met, it of course builds on |
17 |
~amd64 as well. |
18 |
|
19 |
Note that those running full ~amd64 systems would likely have had the |
20 |
dependency already merged, thus, it would build for them without the ~x86 |
21 |
intermediate step you took. |
22 |
|
23 |
.... |
24 |
|
25 |
BTW, one of the reasons x86 and ~x86 are discouraged on an amd64 system (~ |
26 |
or stable) is because in some cases, keyword tests are used to determine |
27 |
whether a particular portion is built 32-bit or 64-bit. In particular, |
28 |
(~)x86 keywording on some packages will cause them to try to build |
29 |
portions of the package in 32-bit assembly. Naturally, when the rest of |
30 |
the package is 64-bit, this will cause serious problems, where it wouldn't |
31 |
if the package was moved to overlay and (~)amd64 was added, because |
32 |
that wouldn't trigger the 32-bit specific assembly coding, based |
33 |
specifically on the (~)x86 keyword. |
34 |
|
35 |
Most packages don't test on arch keywording specifically, or if they do |
36 |
it's nothing related to amd64/x86 but rather endianness (as ppc) or other |
37 |
arch-specific keywording related. Thus, (~)x86 won't get you into trouble |
38 |
with /most/ packages. However, because the ones where it /will/ get you |
39 |
in trouble tend to be core packages such as gcc, glibc, xorg, etc, and a |
40 |
problem in /these/ packages could seriously break your system such that |
41 |
it's difficult to recover without a fresh install, the recommendation is |
42 |
not to use (~)x86 keywording at all. |
43 |
|
44 |
For specific packages, therefore, you have two possible solutions. The |
45 |
recommended solution is to copy the ebuild to your overlay, add the |
46 |
(~)amd64 keyword as appropriate, redigest, and try to merge the |
47 |
rekeyworded copy. However, if you are careful, and exercise some reason |
48 |
as to just what you are keywording (~)x86 (don't do it with anything you |
49 |
consider core, and preferrably take a look at the ebuild to see if it |
50 |
does anything specific based on the x86 keyword), /then/ you can |
51 |
reasonably safely add it to package.keywords as (~)x86. However, this |
52 |
latter method is /never/ recommended, and if something breaks anyway, |
53 |
despite your cautions (or lack thereof), as they say, "You get to keep the |
54 |
pieces!" |
55 |
|
56 |
So anyway, that's why it seems to work for many individual packages. |
57 |
Whether it's worth the risk to you to do it that way, against |
58 |
recommendations, is of course up to you, since it's your system. |
59 |
|
60 |
Now that you have it running with some (~)x86 package keywords, |
61 |
personally, I'd simply ensure that the various (~)x86 package.keyword |
62 |
entries were appropriately limited to the specific version you have |
63 |
currently merged, limiting any future potential breakage, and run with it. |
64 |
Over time, as new versions come out and are marked (~)amd64, you'll |
65 |
upgrade to them, and eventually, you'll have a system entirely free of |
66 |
your current (~)x86 packages. The idea here is simply why worry about |
67 |
what's working, and is similar to the approach of a stage-3 plus packages |
68 |
Gentoo install, where individual site optimizations are only done in the |
69 |
normal upgrade process. |
70 |
|
71 |
-- |
72 |
Duncan - List replies preferred. No HTML msgs. |
73 |
"Every nonfree program has a lord, a master -- |
74 |
and if you use the program, he is your master." Richard Stallman in |
75 |
http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html |
76 |
|
77 |
|
78 |
-- |
79 |
gentoo-amd64@g.o mailing list |