|
|
GCC 4.1.1 and glibc 2.4 going stable
As you can guess by the title, the Gentoo base project has announced that sys-devel/gcc-4.1.1 and sys-libs/glibc-2.4-r3 will be going stable on both amd64 and x86 this week because of their use in the upcoming 2006.1 release. The ppc architecture has already switched, when using the 2006.1 profile. Other architectures are working on support and will switch over at a later date. This is a major milestone for Gentoo as it marks a transition from the previously deprecated LinuxThreads to Native POSIX Thread Library (NPTL) for glibc. Support for the older versions of glibc with LinuxThreads will remain for x86 in a limited fashion. However, upstream glibc will no longer support LinuxThreads, so bug and security fixes are unlikely. The white paper (PDF) has more information on the design of NPTL. There is a well-written comparison of LinuxThreads and NPTL on IBM DeveloperWorks.
Users on x86 wishing to continue using LinuxThreads are asked to switch to using the "no-nptl" profile for default-linux, or to switch to using a hardened profile.
Warning: The hardened profiles are much more minimalistic than the default-linux profiles that you may be accustomed to using. Switching to a hardened profile will likely require enabling many more USE flags in make.conf to retain the same functionality.
Code Listing 1.1: Switching to the no-nptl profile
# cd /etc
# rm -f make.profile
# ln -sf ../usr/portage/profiles/default-linux/x86/no-nptl
Note: There is also a 2.4 sub-profile, which uses the 2.4 kernel and headers.
This also marks a major upgrade of the GNU Compiler Collection (GCC) to version 4.1.1 on Gentoo. This upgrade requires the user to perform certain tasks outlined in the GCC Upgrading Guide, which has recently been updated with information on GCC 4.1.1 for Gentoo users.
Users who do not wish to upgrade to GCC 4.1.1 will require a few more steps to ensure their systems are not upgraded.
Code Listing 1.2: Masking GCC 4.1.1
# mkdir -p /etc/portage
# echo ">=sys-devel/gcc-4.0" >> /etc/portage/package.mask |
|