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 ...
Réponses:
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).
Téléchargez le code source et ses prérequis:
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
build
commande. Dans ce cas, nous utiliserons une option très basique:REMARQUE : assurez-vous d'avoir lu les documents pour afficher l'option disponible.
Nous sommes maintenant prêts à construire gcc
Exécutez la
make
commande pour construire gcc, cette étape prendra beaucoup de temps.Une fois la phase ci-dessus terminée, vous pouvez installer gcc intégré avec:
Une fois ce processus terminé, exécutez la commande
gcc --version
pour vérifier que l'installation s'est terminée avec succès.la source
-v
représenter-verbose
. Plus d'informations se réfèrent à ce qui est vraiment verbeux~/gcc-6.3.0
, vers~/gcc-build
ou 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?tar xzvf gcc-6.3.0.tar.bz2
imprime justegzip: 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.../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 -lgcc
et des erreurs similaires.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.
la source