GCC-3.4.3

Le paquet GCC contient la collection de compilateurs GNU, qui inclut les compilateurs C et C++.

Temps de construction approximatif: 11,7 SBU
Espace disque requis: 451 Mo
L'installation dépend de: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed et Texinfo

Installation de GCC

Ce paquet est connu pour avoir des soucis quand les options d'optimisation par défaut (en incluant les options -march et -mcpu) sont modifiées. Donc, si des variables d'environnement qui surchargent les optimisations par défaut, telles que CFLAGS et CXXFLAGS, ont été définies, supprimez cette initialisation pour la construction de GCC.

Appliquez seulement le correctif No-Fixincludes (et pas Specs) utilisé aussi dans le chapitre précédent :

patch -Np1 -i ../gcc-3.4.3-no_fixincludes-1.patch

La compilation de GCC échoue pour certains paquets en dehors d'une installation LFS de base (par exemple, Mozilla et kdegraphics) si GCC est utilisé avec les dernières versions de Binutils. Appliquez le correctif suivant pour corriger ce problème :

patch -Np1 -i ../gcc-3.4.3-linkonce-1.patch

Appliquez une substitution sed qui supprimera l'installation de libiberty.a. À la place, la version de libiberty.a fournie par Binutils sera utilisée :

sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in

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

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

Préparez la compilation de GCC :

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

Compilez le paquet :

make
[Important]

Important

Dans cette section, la suite de tests pour GCC est considérée critique. Ne pas la laisser passer quelque soient les circonstances.

Testez les résultats mais ne vous arrêtez pas aux erreurs :

make -k check

Quelques erreurs sont connues et ont été indiquées dans le chapitre précédent. Les notes de la suite de tests sur la section intitulée « GCC-3.4.3 - Passe 2 » sont toujours très appropriées ici. Assurez-vous de vous y référer si nécessaire.

Installez le paquet :

make install

Quelques paquets s'attendent à ce que le préprocesseur C soit installé dans le répertoire /lib. Pour supporter 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 un lien symbolique :

ln -s gcc /usr/bin/cc
[Note]

Note

À ce moment, il est fortement recommandé de répéter les vérifications réalisées plus tôt dans ce chapitre. Référez-vous à la section intitulée « Ré-ajustement de l'ensemble d'outils » et répétez la vérification. Si les résultats sont mauvais, alors il y a des chances pour que le correctif GCC Specs ait été mal appliqué à partir de Chapitre 5.

Contenu de GCC

Programmes installés: c++, cc (lien vers gcc), cpp, g++, gcc, gccbug et gcov
Bibliothèques installées: libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] et libsupc++.a

Descriptions courtes

cc

Le compilateur C

cpp

Le préprocesseur C ; il est utilisé par le compilateur pour l'extension des instructions #include, #define et d'autres instructions similaires dans les fichiers sources

c++

Le compilateur C++

g++

Le compilateur C++

gcc

Le compilateur C

gccbug

Un script shell utilisé pour aider à la création de bons rapports de bogues

gcov

Un outil de tests ; il est utilisé pour analyser les programmes et savoir où des optimisations seraient suivies du plus d'effet

libgcc

contient un support en exécution pour gcc

libstdc++

La bibliothèque C++ standard

libsupc++

Fournit des routines de support pour le langage de programmation C++