OldGentooWiki:Recompilation Toolchain

De Gentoo-Quebec.

(Redirigé depuis Recompilation Toolchain)
Block 64.png
En construction !

Cette page est actuellement en construction. SVP, veuillez ne pas toucher à son contenu tant et aussi longtemps que ce message apparaît en début de page.

d2_racing

Go-previous.png Index entretien et sauvegardes


Gentoo-quebec+Funtoo-quebec.png

Recompilation de la Toolchain suite à un changement de version majeure de GCC


Sommaire

Mise en contexte

Tout d'abord, avant d'expliquer quoi que ce soit, il est vraiment important de dire que ce sujet est vraiment un des sujets qui peut déclencher une guerre entre les utilisateurs, car il y a 2 écoles de pensée à ce sujet.

À l'époque, j'avais posté une question sur le forum de Gentoo et on eu plusieurs excellente réponses : Emerge -e system Twice (Myth or Reality).

Ce petit guide va prendre en compte les réponses de ce sujet en plus d'expliquer à fond qu'est-ce que c'est une Toolchain au juste.

Introduction

La GNU toolchain est en fait une série de paquetages qui, une fois déployés sur votre machine, vont vous permettre de pouvoir construire et déployer la quasi-totalité des paquetages constituant Gentoo (certains requièrent quelques utilitaires additionnels comme cmake par exemple) au travers de la commande emerge. Cette toolchain est composée des paquetages suivants :

Package Description Commandes contenues (non-exhautivement)
GNU make Interprête les directives de compilation d'un programme contenues dans les fameux fichiers Makefile. make
GNU Compiler Collection (GCC) Ensemble de compilateurs (C/C++ mais aussi Objective C/C++, FORTRAN) gcc, g++, gfortran
GNU Binutils Diverses commandes de manipulations de fichiers binaires (assembleur, éditeur de liens...). Ces commandes sont une dépendance de la GNU compiler collection. ld,as,nm,objdump,ranlib,ar...
GNU Bison Générateur de squelette de parseur bison
GNU m4 (macros) Implémentation GNU du traditionnel processeur de macro *NIX. GNU M4 est compatible *NIX SYSTEM V R4 et est principalement utilisé par GNU Autoconf. m4
GNU Debugger (GDB) Debugger GNU (ligne de commande). gdb
GNU Build System (autotools) Contient une série d'utilitaires utilisés par GCC. automake, autoheaders, autoconf
Info 64.png
Information !
l'implémentation GNU de la LibC (glibc) ne figure pas comme faisant pas partie de cette suite d'outils. Bien que la glibc se retrouve sur énormément de systèmes elle ne constitue nullement un passage obligatoire (elibc constitue une alternative).

Changement de version de Gcc avec un système existant

Tout d'abord, dans ce genre de situation, vous devez bien sûr recompiler votre Toolchain ainsi que tous les packages de votre Gentoo, car vous voulez utiliser au maximum cette nouvelle version.

Pour ce faire, vous devez lancer la commande suivante :

Exemple de code : Recompilation de votre Gentoo minimale

# emerge -auDNv world
# gcc-config -l
# gcc-config nouvelle_version_du_compilateur
# emerge -av sys-kernel/linux-headers sys-libs/glibc sys-devel/binutils-config sys-devel/binutils sys-devel/gcc-config sys-devel/gcc 
# emerge sys-libs/glibc sys-devel/binutils sys-devel/gcc
# emerge -e system
# emerge -e world


Exemple de code : Recompilation de votre Gentoo méthode Geek

# emerge -auDNv world
# gcc-config -l
# gcc-config nouvelle_version_du_compilateur
# emerge -e system
# emerge -e system
# emerge -e world


La méthode Geek est presque identique à la méthode minimale, par contre on évite de recompiler quelques packages pour rien. Un Geek va vouloir s'assurer que tout est parfait et c'est le meilleur moyen pour y arriver.

Recompilation de la Toolchain lors de votre installation initiale

Lorsque vous installez votre Gentoo pour la première fois, vous allez sûrement changer vos Cflags et autre. Dans ce genre de situation, vous allez devoir lancer la commande suivante :

Exemple de code : Recompilation initiale

# emerge -e system
# emerge -e system


Ceci est dans le but d'obtenir une Toolchain intègre, car la première fois que votre Toolchain va se compiler,vous allez utiliser le compilateur optimisé avec les valeurs par défaut. Par contre lors de la seconde compilation du système, cette fois-ci, vous allez utiliser votre propre compilateur avec votre propre configuration de Cflags.

Warning 64.png
Attention !
Dès que vous changez de version de GCC, il ne faut pas oublier de recompiler le noyau.

Recompilation du noyau.

Outils personnels