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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
default/linux/amd64/17.1/no-multilib
The amd64 17.1 profiles switch to a more standard 'no SYMLINK_LIB'
multilib layout, and require an explicit migration. The migration is
performed using the app-portage/unsymlink-lib tool.
Read the Gentoo news item [2] for more information!
The following steps can be used to upgrade your system:
1. Sync and upgrade your system to the newest package versions
to reduce the risk of issues.
2. If you are still running a 13.0 profile, select gcc 6.4.0 or later
as the system compiler, source /etc/profile and reinstall libtool:
# gcc-config -l
[1] x86_64-pc-linux-gnu-5.5.0 *
[2] x86_64-pc-linux-gnu-8.3.0
# gcc-config 2
# . /etc/profile
# emerge -1v libtool
3. Install the tool:
# emerge -1v app-portage/unsymlink-lib
4. Run 'unsymlink-lib --analyze' and check the output for obvious
mistakes. If you need to perform any changes to the system, remember
to run 'unsymlink-lib --analyze' again afterwards.
[past this point do not call emerge or modify /usr manually]
5. This is a very good time to make a backup.
6. Run 'unsymlink-lib --migrate'. You can add '--pretend' first to see
what is going to happen.
7. Reboot your system. Check if important programs work.
In particular, verify that e.g. 'emerge --info' works (but do not
install anything). If you hit any serious problems, you can use
'unsymlink-lib --rollback' to revert the changes and return to
step 3.
8. Run 'unsymlink-lib --finish'. You can add '--pretend' first to see
what is going to happen but note that you're going to see a very long
list of files to remove.
9. Switch the profile, e.g.:
# eselect profile set default/linux/amd64/17.1/desktop
[at this point you can start using emerge again. emerge will then
not display this message anymore, but the remaining steps are still
required!]
10. Rebuild the toolchain:
# emerge -1v sys-devel/gcc:11
[ repeat for other slots you will be using ]
[ if you are upgrading from 13.0 profile, also: ]
# emerge -1v sys-devel/binutils
# emerge -1v sys-libs/glibc
11. If you are using a multilib profile, rebuild all 32-bit packages.
This can be done using:
# emerge -1v --deep /lib32 /usr/lib32 /usr/lib/llvm/*/lib32
Alternatively, if you are switching from one of the 13.0 profiles
you can rebuild all packages as detailed in the 17.0 news item:
# emerge -ev @world
12. Once the last 32-bit package is rebuilt, your package manager
should remove the orphaned /lib32 and /usr/lib32 symlinks. If that
does not happen, remove them manually:
# rm /lib32 /usr/lib32
For known issues, please see bug #506276 [1]. If you have any problems
with the new profiles or the migration procedure, please report a bug
and make it block the tracker.
[1] bug #506276
[2] https://www.gentoo.org/support/news-items/2019-06-05-amd64-17-1-profiles-are-now-stable.html
|