J'ai récemment essayé de rétrograder vers gcc 4.7 car un code cfd sur lequel je travaillais ne compilait pas avec la dernière version de gcc. Mais après de nombreuses erreurs et le code ne compilant toujours pas, j'ai abandonné et j'aimerais revenir aux derniers compilateurs gcc et g ++, mais il semble que j'ai peut-être foiré quelque chose.
Quand je fais:
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo apt-get install gcc-6.2 g++-6.2
ou même gcc-5.1 g ++ - 5.1 d'ailleurs, cela me donne l'erreur suivante
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gcc-6.2
E: Couldn't find any package by glob 'gcc-6.2'
E: Couldn't find any package by regex 'gcc-6.2'
E: Unable to locate package g++-6.2
E: Couldn't find any package by glob 'g++-6.2'
E: Couldn't find any package by regex 'g++-6.2'
et j'ai aussi essayé de faire ça avant
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6.2 g++-6.2
mais cela ne semble pas fonctionner. Enfin quand je fais juste
sudo apt-get install gcc
ça dit
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version (4:5.3.1-1ubuntu1).
Je sais que je dois encore installer et configurer des alternatives, mais cela ne fonctionne pas non plus comme suit
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5.3 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5.3 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
Désolé, cela s'est terminé assez longtemps et faites-le moi savoir si vous avez besoin de plus d'informations. Merci!
EDIT: Je l'ai fait fonctionner en changeant gcc-5.3 en gcc-5 dans le code ci-dessus car cela semblait être ce qu'on appelle dans usr / bin. Je le garderai pour référence future si quelqu'un est confronté au même problème.
gcc
etg++
installent des liens directs vers les dépendances par défaut, comme/usr/bin/g++ -> g++-5
. Avez-vous essayé de réinstaller simplement les packagesgcc
etg++
?Réponses:
Exécutez les commandes suivantes dans l'ordre. J'obtenais la même erreur. Cela a fonctionné pour moi.
la source
sudo apt-get update
-il été exécuté trois fois au lieu de la première fois? En particulier, pourquoi après la dernière installation du package?La mise à jour d'apt-get doit être exécutée pour que votre ordinateur accède au référentiel qui vient d'être ajouté, mettant ainsi son contenu à votre disposition. Si vous ne l'exécutez pas, votre ordinateur ne sait pas qu'il dispose des informations de ce référentiel.
la source