Difference between revisions of "Toolchain update"

From Funtoo Linux
Jump to: navigation, search
(Created page with "This guide explains how to upgrade the Funtoo toolchain to the new version available. With this toolchain update comes some other core packages bumps that were depending on the n...")
 
Line 38: Line 38:
 
The only package that needs to be rebuilt afterwards is ''libtool'', as it uses various scripts that have hard-coded GCC information in them:
 
The only package that needs to be rebuilt afterwards is ''libtool'', as it uses various scripts that have hard-coded GCC information in them:
 
<pre>
 
<pre>
# emerge --onesho libtool
+
# emerge --oneshot libtool
 
</pre>
 
</pre>
  

Revision as of 02:08, 8 November 2011

This guide explains how to upgrade the Funtoo toolchain to the new version available. With this toolchain update comes some other core packages bumps that were depending on the new toolchain.

Contents

Current toolchain

Funtoo currently provides the following core package versions:

  • sys-devel/gcc-4.4.5
  • sys-devel/binutils-2.20.1
  • sys-kernel/linux-headers-2.6.32
  • sys-libs/glibc-2.11.3
  • sys-fs/udev-160-r2


Toolchain update

Those core packages will be updated to the following versions:

  • sys-devel/gcc-4.6.2
  • sys-devel/binutils-2.21.-r1
  • sys-kernel/linux-headers-2.6.39
  • sys-libs/glibc-2.13-r4
  • sys-fs/udev-171-r1


Unmasking the packages

Until those packages are unmasked, the users that want to test them must first unmask them:

# install -d /etc/portage/package.unmask
# echo "=sys-devel/gcc-4.6.2" >> /etc/portage/package.unmask/toolchain
# echo "=sys-devel/binutils-2.21.-r1" >> /etc/portage/package.unmask/toolchain
# echo "=sys-kernel/linux-headers-2.6.39" >> /etc/portage/package.unmask/toolchain
# echo "=sys-libs/glibc-2.13-r4" >> /etc/portage/package.unmask/toolchain
# echo "=sys-fs/udev-171-r1" >> /etc/portage/package.unmask/toolchain

Upgrading to the new toolchain

As the dependencies have been adjusted so the packages are built in the right order, no user manipulation is required. Simply update everything :

# emerge -uNDav @world

The only package that needs to be rebuilt afterwards is libtool, as it uses various scripts that have hard-coded GCC information in them:

# emerge --oneshot libtool

Rebuilding the whole system?

Some people argue that this is necessary to rebuild the whole system (even twice) after a toolchain upgrade. This is never necessary, but users who changed their CFLAGS or CXXFLAGS due to a new available arch or optimization flag are welcome to do so, if they want. However, remember that this is never necessary.

Personal tools
Namespaces

Variants
Actions
Categories
Toolbox
Stuff