Installer GCC-3.3.1

Estimation du temps de construction :           11,7 SBU
Estimation de l'espace disque requis :  294 Mo

Contenu de GCC

Le package GCC contient le compilateur GNU, incluant les compilateurs C et C++.

Programmes installés : c++, cc (lien vers gcc), cc1, cc1plus, collect2, cpp, g++, gcc, gccbug et gcov

Bibliothèques installées : libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] et libsupc++.a

Dépendances d'installation de GCC

GCC dépend de Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.

Installation de GCC

Note : La suite de tests pour GCC de cette section est considérée comme critique. Notre conseil est de la réaliser quelles que soient les circonstances.

Ce package est connu pour mal se comporter si vous changez les options d'optimisation par défaut (en incluant les options -march et -mcpu). Donc, si vous avez défini des variables d'environnement qui surchargent les optimisations pas défaut, telles que CFLAGS et CXXFLAGS, nous vous recommandons de supprimer cette initialisation lors de la construction de GCC.

Cette fois, nous allons construire le compilateur C et le compilateur C++, donc vous devez déballer les archives tar GCC-core et GCC-g++, qui utiliseront le même répertoire. Vous devrez aussi certainement extraire le paquet GCC-testsuite. Le paquet GCC complet contient encore plus de compilateurs. Les instructions de construction pour ceux-ci se trouvent sur http://www.linuxfromscratch.org/blfs/view/stable/general/gcc.html.

patch -Np1 -i ../gcc-3.3.1-no_fixincludes-2.patch
patch -Np1 -i ../gcc-3.3.1-suppress-libiberty.patch

Le second correctif supprime ici l'installation de libiberty à partir de GCC, car nous utilisons celle fournie par binutils. Faites attention à ne pas appliquer le correctif "GCC specs" du chapitre 5.

La documentation GCC recommande de construire GCC en dehors du répertoire source, c'est-à-dire dans un répertoire de construction dédié :

mkdir ../gcc-build
cd ../gcc-build

Maintenant, préparez la compilation de GCC :

../gcc-3.3.1/configure --prefix=/usr \
    --enable-shared --enable-threads=posix \
    --enable-__cxa_atexit --enable-clocale=gnu \
    --enable-languages=c,c++

Compilez le package :

make

Testez le résultat mais ne vous arrêtez pas aux erreurs (vous vous en rappelerez) :

make -k check

Les notes de la suite de tests de la section intitulée Installer GCC-3.3.1 - Pass 2 dans Chapitre 5 sont encore une fois appropriées ici. Référerez-vous à celles-ci si vous avez des doutes.

Et, installez le paquet :

make install

Quelques paquets s'attendent à ce que le préprocesseur C soit installé dans le répertoire /lib. Pour utiliser ces paquets, créez ce lien symbolique :

ln -s ../usr/bin/cpp /lib

Beaucoup de paquets utilisent le nom cc pour appeler le compilateur C. Pour satisfaire ces paquets, créez le lien symbolique :

ln -s gcc /usr/bin/cc

Note : Maintenant, il est fortement recommandé de répéter les vérifications réalisées dans ce chapitre. Référez-vous à la section intitulée Réajuster l'ensemble des outils et répétez les vérifications. Si les résultats sont mauvais, il est fortement probable que vous avez mal appliqué le correctif "GCC Specs" lors du chapitre 5.