web-dev-qa-db-fra.com

"gcc --version" ne trouve pas gcc alors que g ++ - 5 et gcc-5 sont installés?

Je souhaite utiliser gcc-5 car je souhaite la prise en charge de c ++ 14. J'ai donc supprimé les versions précédentes de gcc; gcc-4.8 et gcc-4.9 et installé gcc-5 et g ++ - 5. Mais maintenant, lorsque la commande gcc --version _ elle répond:

The program 'gcc' is currently not installed. You can install it by typing:
Sudo apt-get install gcc

Par contre, si je commande Sudo apt-get install gcc-5, je reçois la réponse gcc-5 is already the newest version. Mais si je commande Sudo apt-get install gcc, il essaie toujours de prendre gcc-4.8.

Pourquoi ce comportement? Comment puis-je m'assurer d'obtenir gcc-5 lorsque la commande Sudo apt-get install gcc.

Merci.

2
the_naive

Il est mauvais de mettre à jour les bibliothèques d'un PPA en test, à moins que vous ne sachiez ce que vous faites.

Vous n'obtenez aucune réponse pour gcc --version parce que vous n'avez pas le programme gcc avec la version 5.x disponible dans les référentiels apt actuels. Le gestionnaire de paquets (ici apt) a conservé deux paquets différents pour le même programme mais des versions différentes 4.x et 5.x.

Vous ne pouvez pas obtenir gcc-5 lorsque vous tapez Sudo apt-get install gcc car il essaiera d'obtenir le package nommé gcc et non gcc-5 dans la liste des référentiels définis par apt. Au lieu de cela, je vous suggère d’obtenir gcc-5 puis de le remplacer par gcc ou de remplacer un alias dans le fichier ~/.bashrc.

Si vous voulez remplacer votre gcc-5 par gcc, vous pouvez essayer ce lien Gist . Ou principalement

Sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Sudo apt-get update
Sudo apt-get install gcc-5 g++-5

Sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5

Une option moins recommandée consisterait à ajouter

alias gcc='gcc-5

en vous ~/.bashrc. Il utilisera gcc-5 lorsque vous l'utiliserez depuis un terminal et tout autre appel à gcc ne déclenchera pas gcc-5.

1
radbrawler