10.10.1. Installation de GCC
Le correctif suivant active des corrections d'erreurs de
compilation avec le noyau :
patch -Np1 -i ../gcc-4.2.4-PR31490-1.patch
Appliquez le correctif suivant pour que GCC se lie à /lib au
lieu de /lib64 :
patch -Np1 -i ../gcc-4.2.4-pure64-1.patch
Appliquez une substitution sed qui va supprimer
l'installation de libiberty.a. La
version of libiberty.a fournie par
Binutils sera utilisée à la place :
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
GCC fournit un script gccbug qui détecte la présence de
mktemp au moment de la compilation et écrit les résultats dans un
test. Si mktemp n'est pas trouvé, le script générera des noms moins
aléatoires pour les fichiers temporaires. Nous installerons mktemp
plus tard, et la commande sed suivante simulera sa présence :
sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.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 -v ../gcc-build
cd ../gcc-build
Préparez la compilation de GCC :
../gcc-4.2.4/configure --prefix=/usr \
--libexecdir=/usr/lib --enable-shared --enable-threads=posix \
--enable-__cxa_atexit --enable-c99 --enable-long-long \
--enable-clocale=gnu --enable-languages=c,c++ \
--disable-multilib --disable-libstdcxx-pch
Compilez le paquet :
make bootstrap
Important
Dans cette section, la suite de tests pour GCC est considérée
critique. Ne les sautez sous aucun prétexte.
Testez les résultats mais ne vous arrêtez pas aux erreurs :
make -k check
L'option -k est utilisé
pour que la suite de test s'exécute jusqu'à la fin et ne s'arrête
pas au premier échec. La suite de tests de GCC est très complète et
il est presque certain qu'elle générera quelques échecs. Pour
recevoir un résumé des résultats de la suite de tests,
lancez :
../gcc-4.2.4/contrib/test_summary
Pour n'avoir que les résumés, redirigez la sortie vers
grep -A7 Summ.
Quelques échecs inattendus sont inévitables. Les développeurs de
GCC connaissent ces problèmes, mais ne les ont pas encore résolus.
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 -sv ../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 -sv gcc /usr/bin/cc