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.