Mettre à jour GCC vers la version 6.3 [fermé]


10

Je souhaite utiliser certaines fonctionnalités C ++ uniquement disponibles dans les versions plus récentes du langage. Le problème est qu'Ubuntu 15.04 (Vivid Vervet) a installé 4.9.2 et en regardant la sortie que j'obtiens d' 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]

Il dit que c'est déjà la dernière version. Je ne comprends pas pourquoi ...


1
Ubuntu 15.04 n'est plus pris en charge, vous devriez peut-être passer à une version plus récente. Les anciennes versions d'Ubuntu n'ont généralement pas les dernières versions des packages, vous devez mettre à jour la distribution ou installer votre package à partir d'un ppa ou le construire à partir des sources.
Raziman TV

Réponses:


10

La seule option existe est de le construire à partir de sources , car vous exécutez la version Vivid (15.04) qui a atteint EOL (End Of Life).

  1. Téléchargez le code source et ses prérequis:

    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. Compilez les sources (remarque: cette commande diffère selon l'endroit où vous avez initialement enregistré l'archive .bz2), vous pouvez également modifier l' option pour la buildcommande. Dans ce cas, nous utiliserons une option très basique:

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

    REMARQUE : assurez-vous d'avoir lu les documents pour afficher l'option disponible.

  3. Nous sommes maintenant prêts à construire gcc

    • Exécutez la makecommande pour construire gcc, cette étape prendra beaucoup de temps.

      make
      
    • Une fois la phase ci-dessus terminée, vous pouvez installer gcc intégré avec:

      sudo make install
      

      Une fois ce processus terminé, exécutez la commande gcc --versionpour vérifier que l'installation s'est terminée avec succès.


Que fait l'option "-v"? Je n'arrive pas à le trouver sur gcc.gnu.org/install/configure.html
Fabrício Santana


Dans quel dossier est installé g ++ 6.3 en suivant ces étapes? Vers ~/gcc-6.3.0, vers ~/gcc-buildou vers un autre dossier? Aucun des dossiers créés ne doit-il être supprimé après l'exécution de ces commandes ou sont-ils toujours tous requis?
HelloGoodbye

1
tar xzvf gcc-6.3.0.tar.bz2imprime juste gzip: stdin: not in gzip format; tar: Child returned status 1; tar: Error is not recoverable: exiting now, j'ai donc déballé l'archive avec le gestionnaire d'archives.
HelloGoodbye

Quand je cours ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0, je reçois /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 -lgccet des erreurs similaires.
HelloGoodbye

4

Ubuntu 15.04 est arrivé en fin de vie et n'a plus de support, ce qui signifie qu'aucune mise à jour ou correction (sécurité, bogues ou fonctionnalités) ne sera publiée.

Vous devez mettre à jour ou réinstaller avec une version plus récente d'Ubuntu.

Je recommanderai d'aller avec 16.10 (support de 9 mois) qui a déjà une branche gcc 6.x sur les dépôts officiels.

Mais vous pouvez également opter pour 16.04 LTS (support de 5 ans) et ajouter un ppa non approuvé / non garanti pour obtenir les dernières versions de gcc comme celle-ci

Personnellement, je choisirais d'aller avec 16.10 et de continuer à mettre à jour les canaux officiels vers les versions ultérieures du logiciel / Ubuntu sans ajouter (principalement) de ppa.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.