Aggiornamento agli ultimi gcc e g ++ su Ubuntu 16.04


11

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.


2
AFAIK gcc e g ++ non si installano come alternative di aggiornamento per impostazione predefinita - invece, i pacchetti gcce le g++dipendenze installano collegamenti diretti alle dipendenze predefinite, come /usr/bin/g++ -> g++-5. Hai provato semplicemente a reinstallare i pacchetti gcce g++?
Steeldriver,

Un modo per evitare questo tipo di problemi è creare una macchina virtuale e installare la vecchia versione del compilatore.
NZD

Questo aggiornamento rapido può essere risolto nell'installazione Lettura degli elenchi dei pacchetti ... Fine Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato ... Fine gcc è già la versione più recente (4: 7.3.0-3ubuntu2.1). 0 aggiornati, 0 appena installati, 0 da rimuovere e 36 non aggiornati.
JOC KERS,

Risposte:


5

Esegui i seguenti comandi in sequenza. Stavo ottenendo lo stesso errore. Questo ha funzionato per me.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-snapshot
sudo apt-get install gcc-6 g++-6

9
Perché sudo apt-get updateè stato eseguito tre volte anziché solo la prima volta? In particolare, perché dopo l'ultima installazione del pacchetto?
Eliah Kagan,

Cosa fa esattamente l'istantanea gcc? Come posso rimuovere la versione precedente di gcc (4.8.4)?
abunickabhi,

0

apt-get update deve essere eseguito in modo che il tuo computer acceda al repository che è stato appena aggiunto, rendendo così disponibili i suoi contenuti. Se non lo esegui, il tuo computer non è a conoscenza del fatto che ha le informazioni sul repository disponibili

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.