Aggiorna GCC alla versione 6.3 [chiuso]


10

Voglio usare alcune funzionalità C ++ disponibili solo nelle versioni più recenti della lingua. Il problema è che Ubuntu 15.04 (Vivid Vervet) ha installato 4.9.2 e guardando l'output che ottengo da apt-get install gcc :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]

Dice che è già la versione più recente. Non capisco perché ...


1
Ubuntu 15.04 non è più supportato, forse dovresti passare a una versione più recente. Le vecchie versioni di Ubuntu di solito non hanno le ultime versioni dei pacchetti, devi aggiornare la distribuzione o installare il tuo pacchetto da un ppa o costruirlo dal sorgente.
Raziman TV,

Risposte:


10

L'unica opzione esistente è quella di costruirlo da Sources , poiché stai eseguendo la versione Vivid (15.04) che ha raggiunto EOL (End Of Life).

  1. Scarica il codice sorgente e i suoi prerequisiti:

    wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
    tar jxvf gcc-6.3.0.tar.bz2
    cd gcc-6.3.0
    ./contrib/download_prerequisites
    
  2. Compila i sorgenti (nota: questo comando differirà a seconda di dove hai inizialmente salvato l'archivio .bz2), puoi anche modificare l' opzione per il buildcomando. In questo caso useremo un'opzione molto semplice:

    cd ~
    mkdir gcc-build && cd gcc-build
    ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
    

    NOTA : assicurarsi di aver letto i documenti per visualizzare l'opzione disponibile.

  3. Ora siamo pronti per creare gcc

    • Esegui il makecomando per compilare gcc, questa procedura richiederà molto tempo per essere completata.

      make
      
    • Terminata la fase di cui sopra è finito, è possibile installare costruita gcc con:

      sudo make install
      

      Una volta completato questo processo, eseguire il comando gcc --versionper verificare che l'installazione sia stata completata correttamente.


Che cosa fa l'opzione "-v"? Non riesco a trovarlo su gcc.gnu.org/install/configure.html
Fabrício Santana


In quale cartella è installato g ++ 6.3 quando si seguono questi passaggi? A ~/gcc-6.3.0, verso ~/gcc-buildo in qualche altra cartella? Le cartelle create non dovrebbero essere rimosse dopo aver eseguito questi comandi o sono ancora necessarie?
Ciao Arrivederci

1
tar xzvf gcc-6.3.0.tar.bz2solo stampe gzip: stdin: not in gzip format; tar: Child returned status 1; tar: Error is not recoverable: exiting now, quindi ho decompresso l'archivio con il gestore dell'archivio.
Ciao Arrivederci

Quando eseguo ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0, ottengo /usr/bin/ld: cannot find crt1.o: No such file or directory, /usr/bin/ld: cannot find crti.o: No such file or directory, /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc, /usr/bin/ld: cannot find -lgcce gli errori simili.
Ciao Arrivederci

4

Ubuntu 15.04 ha raggiunto la fine della sua vita e non ha supporto, il che significa che non verranno più pubblicati aggiornamenti o correzioni (sicurezza, bug o funzionalità) .

È necessario aggiornare o reinstallare con una versione più recente di Ubuntu.

Ti consiglio di andare con 16.10 (supporto per 9 mesi) che ha già il ramo gcc 6.x sui repository ufficiali.

Ma puoi anche andare con 16.04 LTS (supporto per 5 anni) e aggiungere un ppa non attendibile / non garantito per ottenere le ultime versioni di gcc come questa

Personalmente, sceglierei andare con 16.10 e continuare l'aggiornamento dai canali ufficiali alle versioni successive di software / Ubuntu senza aggiungere (principalmente) alcun ppa.

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.