web-dev-qa-db-fra.com

Comment mettre à jour gcc-5 à gcc-7 dans Ubuntu 16.04?

Ceci est une question de suivi pour Comment installer gcc-7 ou clang 4.0? .

Suite aux réponses, j’ai pu installer gcc-7.2 en:

Sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Sudo apt-get update
Sudo apt-get install -y gcc-7

Cependant, après l’installation, la commande gcc/g++ est toujours définie par défaut sur 5.4.0.

gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

Est-il possible/sans risque d'avoir gcc-7 par défaut et de supprimer complètement les anciens fichiers gcc-5.x?


Notez que, différent du doublon en question, je cherche à supprimer/remplacer gcc-5.x au lieu de définir un lien symbolique.

1
tinlyx

Pour répondre à ma propre question après de nombreux essais et erreurs, il semble non sans danger pour supprimer/remplacer l'ancien gcc (gcc-5), car il se cassera beaucoup de dépendances au point d’effacer toute la chaîne d’outils.

Par exemple, lorsque vous essayez de supprimer/remplacer gcc-5 comme indiqué dans les commentaires,

Exécutez update-alternatives pour définir gcc-7 comme version par défaut de gcc et tapez le type Sudo dpkg -r gcc-5

Cela génère une erreur:

dpkg: dependency problems prevent removal of gcc-5:
 g++-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).
 g++ depends on gcc-5 (>= 5.3.1-3~).
 gcc depends on gcc-5 (>= 5.3.1-3~).
 gfortran-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).

Lors de l'ajout de ces dépendances à la liste des éléments Sudo dpkg -r, un nombre croissant de packages doit être supprimé. par exemple.

 ...
 r-base-dev depends on g++.
 build-essential depends on g++ (>= 4:5.2).

Je n'ai pas essayé de trouver le plus grand ensemble de packages à supprimer, comme décrit dans la section Comment désinstaller un package .deb? . Mais il est assez clair que la plupart des paquets utiles dans Ubuntu auront déjà disparu.

3
tinlyx