GCC 11.1 a finalement été libéré hier. Cependant, maintenant il ne peut être construit qu'à partir de source, donc je me demande quand nous pouvons l'obtenir avec apt
?
4 Réponses :
Nous n'avons actuellement aucune information sur le moment où nous verrons une version APT de GCC 11.1. Ci-dessous, je montre les instructions de construction étape par étape que vous pourrez suivre:
vous pouvez visiter https://gccc.gnu.org/mirrors.html , choisissez le miroir le plus proche de vous, téléchargez la source pour GCC-11.1.0.tar.gz
Ensuite, assurez-vous de Faites installer votre système de construction:
mkdir build cd build ../configure --enable-multilib && make && sudo make install
Oui, vous avez besoin de GCC pour construire GCC.
Ensuite, déballer le tarball:
cd Downloads # replace with your download location tar -xzvf gcc-11.1.0.tar.gz cd gcc-11.1.0
La dernière chose est de la construire:
sudo apt install gcc g++ make bison binutils gcc-multilib
c'est tout! Vous avez maintenant GCC 11.1 installé dans Ubuntu.
J'ai essayé similaire mais j'ai eu quelques problèmes avec la liaison de libstdc ++. So.6.
J'ai oublié de mentionner que pour l'option - Activer-Multilib
, vous devez avoir Multilib. Installez-le avec sudo apt install gcc-multilib
. Je l'ai également ajouté dans la réponse.
Cela peut cependant prendre un veeery à construire, selon la machine.
Sur Ubuntu 20.04, j'ai suivi les instructions ici:
qui est à:
Mettez à jour les miroirs répertoriés en ajoutant une ligne à votre /etc/apt/sources.list comme ceci:
sudo add-dapt-repository 'deb http://mirrors.kernel.org/ubuntu hirsute univers principal'
Choisissez un miroir en fonction de votre emplacement dans la liste. J'ai choisi le noyau Miroir comme je suis en Amérique du Nord.
sudo apt-get update
sudo apt-get install gcc-11
Après cela qui GCC-11
devrait produire un chemin vers le GCC-11. Sur ma machine, c'était:
which gcc-11
produit: / usr / bin / gcc-11
Soyez très prudent, n'exécutez pas la «mise à niveau apt-get» ou votre 20.04 devient 21.04, il est plus sûr de supprimer la ligne de sources. libération par accident, ce qui pourrait prendre un certain temps.
Est-ce totalement sûr? Si l'ajout du repo Hirsute rend le GCC-11 à disposition, ne devrions-nous pas nous attendre à ce que cela mette à disposition de nombreux autres packages plus récents qui sont peut-être incompatibles avec 20,04?
Ce n'est pas une réponse sûre car elle pourrait potentiellement créer un gâchis de packages en focale qui sont destinés à être focaux et non à l'Hirsuite. Si vous voulez des versions Hirsuite de Stuff in Focal (par exemple les nains ou libbpf pour construire les derniers noyaux), il est préférable de les reconstruire dans Focal en utilisant GCC et la bibliothèque C dans Focal. Sinon, passer à Hirsuite ou plus tard.
Oui, ce total a détruit ma distribution> D
ATTENTION: Un nombre à deux chiffres de votes de bas (b / c, il conduit à un système de versions mixtes ...)
$ sudo update-alternatives --config gcc There are 6 choices for the alternative gcc (providing /usr/bin/gcc). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/gcc-11 1010 auto mode 1 /usr/bin/gcc-10 1000 manual mode 2 /usr/bin/gcc-11 1010 manual mode 3 /usr/bin/gcc-5 40 manual mode 4 /usr/bin/gcc-7 700 manual mode 5 /usr/bin/gcc-8 800 manual mode 6 /usr/bin/gcc-9 900 manual mode Press <enter> to keep the current choice[*], or type selection number:
ne fonctionne pas, malheureusement
Fonctionne pour moi, c'est pourquoi je l'ai écrit. Vous devriez peut-être élaborer pour obtenir plus d'aide.
Merci beaucoup, mais je pense qu'il y a une erreur dans votre deuxième ligne de update_alternatives
. 100 a à 110, non? Au moins, cela semble le réparer pour moi.
Le nombre est un entier indiquant la priorité. Plus il est élevé, plus la priorité est donnée lors de l'utilisation de la résolution automatique. Exécutez .... $ sudo update-alternatives - Config GCC et vous verrez l'une des colonnes est "priorité". Il peut être n'importe quel nombre tant qu'il n'est pas déjà utilisé. Plus le nombre est élevé, plus la priorité en mode "Auto" est élevée.
J'ai mis à jour la réponse montrant ma configuration de mise à jour-alternatives gérant 6 GCC différents
Le commentaire "ne fonctionne pas" peut être dû à un sudo apt update
manquant après avoir ajouté le repo.
Bon ramassage @DrewDormann! J'ai mis à jour la commande ci-dessus.
J'ai mis à jour la ligne d'installation des alternatives vers l'ensemble complet de la suite GCC des commandes principales.
Cela ne fonctionne pas non plus pour moi. Il ajoute le PPA et le répertorie également lors de la mise à jour de la liste des packages, mais il ne trouve aucun package G ++ - 11 NOR GCC-11 à installer. J'utilise Ubuntu 20.10 (groovy), pourrait-ce être la raison?
Comment corriger l'erreur: le CPP alternatif ne peut pas être esclave de GCC: c'est une alternative principale?
Exécuter Sudo Update-Alteratives - Config CPP
et voyez s'il est déjà configuré avec différentes options, sinon, supprimez-la à l'aide de Sudo-Update-Alteratives - Rempove-All CPP
. Ensuite, si vous aviez déjà exécuté la commande que j'ai publiée pour GCC, vous devrez également supprimer cela pour recommencer, puis re-copier et coller la commande ci-dessus pour définir tous les esclaves, y compris le CPP de manière appropriée.
La suppression de votre ligne @johndpope car l'ajout d'univers Hirsuite peut potentiellement casser beaucoup de packages focaux s'ils sont laissés en place. La chaîne d'outils-R PPA ne le fait pas.
J'obtiens la même erreur que @JoHndpope: Update-Alteratives: Erreur: le CPP alternatif ne peut pas être esclave de GCC: c'est une alternative maître
@Thargy - Voir ma réponse au commentaire de Johndpope. C'est une solution facile.
N'oubliez pas d'ajouter également les pages de l'homme, car leur contenu dépend de la version
Les instructions de Casachii ont fonctionné pour moi, avec un gotcha. Si vous rencontrez des problèmes en créant vous-même GCC en utilisant les instructions de Casachii, telles que les erreurs de construction signalant un GMP manquant, MPFR, MPC, etc., faites simplement ce qui suit:
du répertoire GCC (le parent de la "build" répertoire que vous venez de créer), exécutez:
cd build ../configure --enable-multilib && make && sudo make install
puis quand il se termine, exécutez ceci:
./configure
Enfin, revenez dans Votre répertoire de construction comme Casachii instruit et build gcc 11.x
./contrib/download_prerequisites
Cela prendra beaucoup de temps. BTW - J'aurais ajouté cela dans un commentaire à la réponse très utile de Casachii, mais je viens de créer ce compte et apparemment je n'ai même pas les crédits pour même faire un commentaire.
Il a été ajouté par défaut maintenant. A> l'ajout à mon mégatable: askubuntu.com/questions/466651/…
Je vote pour fermer cette question car elle appartient à askubuntu.com
Avance rapide 1 an et nouveau LTS
Ubuntu: Jammy
est livré avecgcc-11
etg ++ - 11
(voir packages.ubuntu.com/search?keywords=gcc-11 ).