aboutsummaryrefslogtreecommitdiff
blob: e368783184b5602d9764f5d72c22b93f0b41e025 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Title: True multilib support on amd64
Author: Michał Górny <mgorny@gentoo.org>
Content-Type: text/plain
Posted: 2015-03-28
Revision: 1
News-Item-Format: 1.0
Display-If-Keyword: amd64
Display-If-Keyword: ~amd64

Starting on 2015-03-29, we are enabling true multilib support on amd64
and masking the old emul-linux-x86 package sets for removal. This
change provides our users with the opportunity to build 32-bit libraries
from source with all the flexibility given by ebuilds and the security
of using mainline ebuilds, rather than relying on pre-packaged binary
versions of them.

The switch to the new system is likely to require a specific action from
the users of our multilib profiles. Since the new system collides with
the old one, the Package Manager must be able to clearly satisfy all
the dependencies using the new system in order to proceed. This may
require unmerging packages installed from third-party repositories that
have not been updated to support the new system.

In order to enable building necessary 32-bit libraries, users will be
required to enable the abi_x86_32 USE flag on respective packages.
This can be done using /etc/portage/package.use entries alike
the following:

    sys-libs/zlib abi_x86_32

In most of the cases, Portage will be able to deliver correct
suggestions for that when using the --autounmask feature. However, some
users may prefer setting ABI_X86 globally to enable 32-bit libraries
in all packages that support building them. This can be done using
the following package.use entry:

    */* abi_x86_32

In case of issues, blockers especially, users are recommended
to manually uninstall any emul-linux-x86 packages that may have been
installed on their systems. This will aid the Package Manager
in choosing the correct dependency resolution path. If using Portage,
this can be done using the following command:

    $ emerge -C 'app-emulation/emul-linux-x86*'

Note: 32-bit applications may be temporarily broken after this step.
Therefore, it should be followed by a @world upgrade immediately.