1 |
Jakob <jak.gentoo@××××××××××.com> posted |
2 |
a23345650612221005y6c0cd6c9iebeebf15edfec863@××××××××××.com, excerpted |
3 |
below, on Fri, 22 Dec 2006 19:05:26 +0100: |
4 |
|
5 |
> On 12/22/06, Boyd Stephen Smith Jr. <bss03@××××××××××.net> wrote: |
6 |
>> On Friday 22 December 2006 01:06, Mike Doty <kingtaco@g.o> wrote |
7 |
>> about 'Re: [gentoo-amd64] Switching form non-multilib to mulitilib |
8 |
>> profile?': |
9 |
>> Well, Mike's probably a better source than me, but I thought the multilib |
10 |
>> <-> no-multilib switch could be done with a simple emerge -e world. |
11 |
>> |
12 |
> I think I just try that and if it doesn't work no problem because I |
13 |
> have to reinstall anyway. |
14 |
|
15 |
The problem is that after you've emerged glibc and gcc using the |
16 |
non-multilib profile, you no longer have a 32-bit capable compiler and |
17 |
libc as no-multilib only compiles the 64-bit side. Without a 32-bit |
18 |
compiler and glibc, you can't (easily) compile the 32-bit compiler and |
19 |
glibc necessary for multilib. |
20 |
|
21 |
Thus, one can go multilib -> no-multilb simply by switching profiles and |
22 |
remerging at minimum the toolchain, but it's a one-way switch. Once you |
23 |
are 64-bit only, you don't have the 32-bit stuff necessary to bootstrap |
24 |
/further/ 32-bit stuff. You therefore can't (easily) go the other way, |
25 |
no-multilib -> multilib. |
26 |
|
27 |
There are of course a number of ways around the problem, but the easiest, |
28 |
because it's documented, is to simply reinstall from stage-3 using the |
29 |
multilb profile. Anything else, you'd better know what you are doing |
30 |
(which it's safe to say you don't if you are asking the question), as you |
31 |
are on your own, at least in terms of official Gentoo/amd64 documentation. |
32 |
|
33 |
However, most packages will be 64-bit only anyway, thus the same in both |
34 |
cases (unless one requires a different version for some reason or other), |
35 |
and of course any 32-bit binary packages (like the emul* packages) aren't |
36 |
difficult to merge once on multilib, if needed. Thus, the only ones you |
37 |
really need to worry about are the toolchain, basically glibc, gcc, |
38 |
binutils, and portage's sandbox (which has both 32-bit and 64-bit |
39 |
libraries in multilib mode). |
40 |
|
41 |
Thus, the quick method would be to quickpkg those packages (glibc, gcc, |
42 |
binutils, sandbox) off of a stage-3, change the profile, and merge the |
43 |
quickpkg-ed binpkgs over the 64-bit-only versions. After that, it |
44 |
/should/ be possible to remerge just those packages, instead of having to |
45 |
remerge the entire system, to get full multilib. (It's likely you have to |
46 |
switch the profile and merge the four binpkgs in a specific order, |
47 |
however, which I might not have correct, above, and it's possible there's |
48 |
a multilib package or two I missed, but I don't think so.) If anything goes |
49 |
wrong, as you said, you'd just have to do the reinstall that was the other |
50 |
option anyway, so nothing lost. |
51 |
|
52 |
-- |
53 |
Duncan - List replies preferred. No HTML msgs. |
54 |
"Every nonfree program has a lord, a master -- |
55 |
and if you use the program, he is your master." Richard Stallman |
56 |
|
57 |
-- |
58 |
gentoo-amd64@g.o mailing list |