As with any major upgrade to the core of your Gentoo system, there is always the possibility that unforeseen problems will ensue. It is always prudent to back up all important data before beginning this process. If possible, try to allocate a large block of time for this upgrade, so that you will not feel rushed. All the software on your machine will need to be recompiled.
This is not the only way to upgrade your system. You can install a new 1.4 system onto a separate partition and reuse some of your system configuration instead. This method also has the advantage that you can always go back to your old system in the meantime as a fallback. You may also decide to simply not upgrade your system. If you decide you want to upgrade in place, read on.
Whenever the code listings suggest running the
Some of the syntax of current ebuilds is unreadable by older versions of Portage. If you don't have at least Portage 2.0.44, try upgrading Portage.
# emerge --sync # emerge -u portage
You will be installing a newer version of GCC during this upgrade. Versions of
GCC older than 2.95.3-r8 are not designed to have multiple versions of GCC
installed. You must therefore upgrade GCC to at least version 2.95.3-r8. This
will also have the beneficial side-effect of installing the
# emerge -u gcc
You can now check to see if gcc-config is working properly:
# gcc-config --get-current-profile
This should return i686-pc-linux-gnu-2.95.3 on most x86 systems. Older systems may return i586-pc-linux-gnu-2.95.3.
Now you can install a newer version of GCC without damaging your current
compiler. Look in
Edit
# vim /usr/portage/sys-devel/gcc/gcc-3.2.2.ebuild
Now install the latest GCC version on your system:
# USE="-java" emerge /usr/portage/sys-devel/gcc/gcc-3.2.2.ebuild
Now you need to change two sets of profiles: your gcc-config profile and your Portage profile.
# cd /etc # rm make.profile(Replace "x86" with your architecture) # ln -s ../usr/portage/profiles/default-x86-1.4 make.profile
(Note the one for the version you just emerged, use it below) # gcc-config --list-profiles(Replace with the version you noted above) # gcc-config i686-pc-linux-gnu-3.2.2
Now you need to recompile your core toolchain with your new compiler. If you
are continuing in the same shell, you need to run
# emerge glibc binutils
Now you may recompile everything on your system with your new compiler:
# emerge -e world