Title: riscv upgrade to 20.0 profiles Author: Andreas K. Hüttel Posted: 2021-06-20 Revision: 1 News-Item-Format: 2.0 Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64d Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64d/systemd Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64 Display-If-Profile: default/linux/riscv/17.0/rv64gc/lp64/systemd On RISC-V we are switching from two-level library directories (e.g., /usr/lib64/lp64d) to a more traditional directory architecture. This is done via the profile upgrade from 17.0 to 20.0 profiles. We recommend to re-install from scratch using a 20.0 profile based stage. 17.0 profiles will be deprecated immediately and removed in 6 months. If you want to upgrade an existing installation, the following steps should be taken. Please read all commands carefully first and make sure you understand them, since the procedure is risky. The commands are given for a lp64d profile; in case of a lp64 profile, always replace lp64d with lp64. # cd /usr/local/lib64 # cp -av lp64d/. . # rm -rf lp64d # ln -s . lp64d # cd /usr/lib64 # cp -av lp64d/. . # rm -rf lp64d # ln -s . lp64d # cd /lib64 # cp -av lp64d/. . # rm -rf lp64d # sln . lp64d Note that the last command uses "sln" instead of "ln -s". Then switch from your 17.0 profile to the corresponding 20.0 profile, either by using "eselect profile" or by manually changing the /etc/portage/make.profile symlink. Next, rebuild all packages: # emerge -eav world As last step, check if portage has removed any of the symlinks created above, and if yes, recreate them.