Mise à jour de GCC vers la version 11 sur Ubuntu 20.04 avec le dépôt Toolchain

Contexte

Ubuntu Server 20.04 LTS est livré par défaut avec GCC 9. Cependant, pour bénéficier des dernières fonctionnalités du langage C++ et d'améliorations en matière d'optimisation et de conformité aux standards, il peut être utile de passer à une version plus récente du compilateur, comme GCC 11 — celle utilisée par défaut dans Ubuntu 22.04 LTS. Ce guide explique comment mettre à niveau GCC sans remplacer l'installation système par défaut, en utilisant update-alternatives pour gérer les versions.

Étape 1 : Ajout du dépôt PPA Toolchain

Pour accéder aux versions récentes de GCC, ajoutez le PPA officiel du groupe Ubuntu Toolchain :

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

Ce dépôt contient des mises à jour expérimentales ou avancées des outils de compilation pour les anciennes versions d’Ubuntu.

Étape 2 : Mise à jour des sources APT

Synchronisez la liste des paquets disponibles après l’ajout du nouveau dépôt :

sudo apt update
sudo apt upgrade

Cela garantit que les métadonnées des paquets sont à jour et que votre système est cohérent avant l’installation de nouveaux composants.

Étape 3 : Installation de GCC 11 et G++ 11

Installez les binaires du compilateur GCC 11 et de son extension C++ :

sudo apt install gcc-11 g++-11

Une fois terminé, les exécutables gcc-11 et g++-11 seront disponibles dans /usr/bin/.

Étape 4 : Configuraton des alternatives via udpate-alternatives

Afin de définir GCC 11 comme version par défaut tout en conservant la possibilité de revenir à GCC 9, utilisez update-alternatives. Cette méthode permet de gérer plusieurs versions du même outil de manière propre.

Tout d’abord, vérifiez que les binaires existent :

ls /usr/bin/gcc-* /usr/bin/g++-*

Ensuite, configurez les priorités :

# Version par défaut (GCC 9) - priorité basse
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 10

# Nouvelle version (GCC 11) - priorité élevée
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 20

Le dernier argument numérique correspond au « score de priorité ». La version avec le score le plus élevé sera sélectionnée automatiquement comme alternative principale.

Étape 5 : Vérification de la version active

Confirmez que le changement a bien pris effet :

gcc -v

La sortie devrait afficher quelque chose comme :

Thread model: posix
gcc version 11.1.0 (Ubuntu 11.1.0-1ubuntu1~20.04)

Cela indique que GCC 11 est désormais utilisé par défaut lorsqu’on appelle gcc ou g++ dans le terminal.

Remarques finales

Si vous travaillez sur un système plus récent ou souhaitez installer une version supérieure (comme GCC 12 ou 13), consultez directement la page du PPA : https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test pour vérifier la disponibilité selon votre version d’Ubuntu.

Étiquettes: GCC Ubuntu compilation update-alternatives ppa

Publié le 17 septembre à 06h52