Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: ~amd64 vs. ~x86
Date: Tue, 29 Nov 2005 15:17:30
Message-Id: pan.2005.11.29.14.32.20.709361@cox.net
In Reply to: Re: [gentoo-amd64] ~amd64 vs. ~x86 by Mark Knecht
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

Replies

Subject Author
Re: [gentoo-amd64] Re: ~amd64 vs. ~x86 Tres Melton <tres@××××××××××.com>