Di recente ho provato a eseguire il downgrade a gcc 4.7 poiché un codice cfd su cui stavo lavorando non è stato compilato con l'ultima versione di gcc. Ma dopo molti errori e il codice non si è ancora compilato, ho rinunciato e vorrei tornare agli ultimi compilatori gcc e g ++, tuttavia sembra che potrei aver incasinato qualcosa.
Quando io faccio:
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo apt-get install gcc-6.2 g++-6.2
o anche gcc-5.1 g ++ - 5.1 del resto, mi dà il seguente errore
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'
e ho anche provato a farlo prima
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6.2 g++-6.2
ma non sembra funzionare. Finalmente quando lo faccio
sudo apt-get install gcc
dice
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version (4:5.3.1-1ubuntu1).
So che devo ancora installare e configurare alternative, ma farlo non funziona neanche come segue
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++
Mi dispiace che questo sia finito piuttosto a lungo e per favore fatemi sapere se avete bisogno di maggiori informazioni. Grazie!
EDIT: In realtà l'ho fatto funzionare cambiando gcc-5.3 in gcc-5 nel codice sopra dato che sembrava essere quello che viene chiamato in usr / bin. Lo terrò per riferimento futuro se qualcuno affronta lo stesso problema.
gcc
e leg++
dipendenze installano collegamenti diretti alle dipendenze predefinite, come/usr/bin/g++ -> g++-5
. Hai provato semplicemente a reinstallare i pacchettigcc
eg++
?