1 |
Thomas Sachau posted on Tue, 20 Oct 2009 17:29:25 +0200 as excerpted: |
2 |
|
3 |
> Michael Haubenwallner schrieb: |
4 |
>> Isn't the intention of multilib to have a new (64bit) system be |
5 |
>> compatible with the corresponding old (32bit) system? |
6 |
>> |
7 |
>> Please comment, thank you! |
8 |
>> /haubi/ |
9 |
> |
10 |
> If you have a 64bit system, the default should be 64bit, both for libs |
11 |
> and for binaries. The additional multilib support allows to install and |
12 |
> use additional 32bit libs and binaries. Since they are not the system |
13 |
> dafault, they shouldnt be in some default place like lib, but instead a |
14 |
> different, but clearly labeled dir like lib32. So the Gentoo way looks |
15 |
> like the right way to me. |
16 |
|
17 |
Except... it isn't, at least not if Gentoo is at all concerned about |
18 |
standards, especially when they'll make things far easier for it. |
19 |
|
20 |
What you just described was the logic applied with, for example, ia64, |
21 |
which is true 64-bit (only) native. However (as I understand it), the |
22 |
Linux FHS and LSB used somewhat different logic for x86_64. |
23 |
|
24 |
See, x86_64 is hardware native dual-bitness, so both 32-bit and 64-bit |
25 |
can be said to be true native hardware bitness (this is NOT the case with |
26 |
ia64). Apparently due to that and to the vast number of legacy 32-bit |
27 |
apps around, many binary-only apps doing obscure and unpredictable things |
28 |
that could well break if assumptions about lib proved invalid, they |
29 |
decided to keep the 32-bit lib location just as it was, believing it |
30 |
easier to create the new lib64 for 64-bit, then to worry about whatever |
31 |
obscure and exotic stuff various binary-only apps might be doing. Since |
32 |
this was just one more change to add to the list of changes already being |
33 |
made to port apps to amd64, it was considered easier than the other way, |
34 |
and thus became the standard. |
35 |
|
36 |
The problem was that Gentoo's early amd64 implementation predated this |
37 |
standardization, and we had chosen the other way. While we've defaulted |
38 |
to lib64 for 64-bit libs for years, it has never been considered anything |
39 |
but experimental to break the lib --> lib64 link. AFAIK stable |
40 |
baselayout still doesn't get its libdir usage consistent, putting files |
41 |
in one but actually calling them using the other path, and boot breaks in |
42 |
various frustrating ways if lib and lib64 are not the same directory. |
43 |
Openrc gets it better now, but I'm not sure it's all fixed either -- it |
44 |
certainly wasn't last time I tried breaking the link. |
45 |
|
46 |
So before Gentoo can switch to the FHS/LSB 32-bit lib on amd64 multilib, |
47 |
it must first fix those last inconsistent usages, and make it possible to |
48 |
break the lib --> lib64 link. Then in theory at least, after awhile with |
49 |
no bugs, or at least no big ones related to this issue, it might be |
50 |
considered safe to move 32-bit back to lib, where the LSB/FHS says it |
51 |
should be. |
52 |
|
53 |
> And better support for this part is my current multilib-portage project, |
54 |
> which allows compilation and installation of additional 32bit libs and |
55 |
> binaries. |
56 |
|
57 |
While I'm a no-multilib user here, I'm glad someone's finally getting |
58 |
that close enough to mainline merge to talk about it! There's a lot of |
59 |
folks for whom it will make life far easier. =:^) |
60 |
|
61 |
-- |
62 |
Duncan - List replies preferred. No HTML msgs. |
63 |
"Every nonfree program has a lord, a master -- |
64 |
and if you use the program, he is your master." Richard Stallman |