Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: Multilib or not?
Date: Fri, 21 Nov 2008 10:12:44
Message-Id: pan.2008.11.21.10.12.32@cox.net
In Reply to: [gentoo-amd64] Multilib or not? by Tonko Mulder
1 Tonko Mulder <tonko.mulder@×××××.com> posted
2 1227247224.6358.3.camel@Gaius, excerpted below, on Fri, 21 Nov 2008
3 07:00:24 +0100:
4
5 > I was wondering since flash has been released for x86_64 and simply
6 > can't find a program on my laptop which uses emul-linux-x86-* If I could
7 > just move to a no-multilib profile.
8 >
9 > As I've read, life get's easier with the no-multilib profile. :)
10
11 The big question is whether you need anything 32-bit only, which is
12 pretty much proprietary stuff. I'm on the no-multilib profile, but the
13 question was easy for me since I don't do proprietaryware.
14
15 In addition to flash, which should now cease to be a 32/64-bit issue,
16 there's also various codecs, etc. While there's 64-bit options for many
17 codecs (I've personally had better luck with xine-lib and its many USE
18 flags than mplayer, YMMV) including normal wmv, DRMed formats (including
19 DRMed wmv) and real can be problems. Specifically for xine-lib, the
20 real, vidix and win32codecs USE flags are profile-masked because they are
21 32-bit only. IIRC there's a win64codecs package but I'm not sure of its
22 status
23
24 The other big problem would be proprietary games. If you prioritize
25 being able to play them very highly, you'll almost certainly want to stay
26 multilib.
27
28 HOWEVER, it's worth noting that there *IS* an alternative 32-bit solution
29 to multilib. It's more work, but in some ways it's truer to Gentoo's
30 roots. This is the 32-bit chroot solution sometimes mentioned. With
31 multilib, glibc and gcc (the big ones, also sandbox and binutils) are
32 compiled for both 64-bit and 32-bit support, but pretty much everything
33 else is installed from precompiled binaries. This includes all the emul-
34 linux-x86-* libraries and the various *-bin executables (mozilla-firefox-
35 bin, mplayer-bin, etc) packages. With a 32-bit chroot solution (for
36 which there's Gentoo documentation if interested), you start from a
37 standard x86 (32-bit) stage tarball and do much of a 32-bit installation
38 as if from scratch, so after you're done you have almost an entire 32-bit
39 installation paralleling your 64-bit installation (but missing system
40 services like syslog, etc, since the 64-bit main system side provides
41 those services, all compiled from sources, and you maintain them both as
42 you normally would. As I said, rather more work, but it's certainly a
43 valid option, and really, truer to the Gentoo norm of the user
44 controlling as much as possible (while still automated) of the installed
45 software, including the CFLAGS used to compile it and the dependencies
46 (USE flags) it builds against. Multilib, while much less work, is both
47 more complex to implement and much less under installed system sysadmin
48 control.
49
50 The main point in bringing up the 32-bit chroot option here, however, is
51 to note that rejecting multilib doesn't /necessarily/ mean rejecting 32-
52 bit on the system. Rather, multilib is the middle ground between no
53 32-bit support (no-multilib profile without the 32-bit chroot) and the
54 full 32-bit chroot option with all the trimmings.
55
56 Meanwhile, no-multilib has some serious benefits, regardless of whether
57 you do the 32-bit chroot or not. Multilib being as it is, a mainly 64-
58 bit system with 32-bit add-ons arranged to allow 32-bit to work as well
59 as possible under the circumstances, it involves a number of compromises
60 and is quite complex, complicating the system considerably. Regardless
61 of whether one is keeping the 32-bit and 64-bit sides more cleanly
62 separated by choosing a full 32-bit chroot on the one hand, or has
63 decided they can do without 32-bit in general on the other, the result of
64 choosing the no-multilib profile is a much cleaner layout, because the 64-
65 bit side doesn't have to worry about 32-bit at all (with the single
66 exception of the kernel's 32-bit emulation option). No double-compiling
67 both the 32-bit and 64-bit parts of gcc or glibc in the same package
68 means broken 32-bit can't block the successful completion and
69 installation of the 64-bit package. From my experience, that alone is
70 the biggest problem people have with those packages on multilib profiles,
71 and a gcc or glibc that can't be upgraded is a HUGE problem that can be a
72 lot of hassle to solve, so eliminating the single biggest cause of that
73 is a BIG deal! No ld having both 32-bit and 64-bit library search paths
74 to worry about and maintain, etc. Less complexity and removing the
75 single biggest cause of broken gccs translates directly to less hassle
76 maintaining your installation. =:^)
77
78 As always, it's your system, so the decision is ultimately yours.
79 There's serious tradeoffs, benefits and drawbacks to either multilib or
80 nomultilib, 32-bit chroot or not, and no single solution is going to be
81 best for everybody, but given a reasonable understanding of the benefits
82 and drawbacks of each, most Gentoo/amd64 users should have little problem
83 deciding what's best for their particular situation, based on just how
84 much 32-bit they use and whether they prefer the less complex but more
85 powerful 32-bit chroot or the less hassle multilib, should they decide
86 they need to keep 32-bit support. Most but not all 32-bit-only programs
87 are available only as binary-only proprietaryware, so how much of that
88 you may use plays the biggest part in whether you need 32-bit or not, but
89 there's still the occasional open source program that hasn't been ported
90 yet, and of course for some usage, in-house-only apps that may not have
91 been ported, and these may play some albeit increasingly small part in
92 the consideration as well.
93
94 --
95 Duncan - List replies preferred. No HTML msgs.
96 "Every nonfree program has a lord, a master --
97 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-amd64] Re: Multilib or not? Tonko <tonko.mulder@×××××.com>