Installer GCC 7 sur Ubuntu?

11

J'essaie d'exécuter un test sous GCC 7. Selon Comment installer gcc-7 ou clang 4.0? sur Ubuntu.SE, nous pouvons effectuer les opérations suivantes pour installer GCC 7 sur Ubuntu:

add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7

La commande échoue à l'installation:

# apt-get install -y gcc-7
...
E: Unable to locate package gcc-7

Et essayer 7.1:

# apt-get install -y gcc-7.1
...
E: Unable to locate package gcc-7.1
E: Couldn't find any package by glob 'gcc-7.1'
E: Couldn't find any package by regex 'gcc-7.1'

Selon Lister tous les packages d'un référentiel dans ubuntu / debian sur Server Fault, nous pouvons rechercher un référentiel particulier pour un package avec:

# grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages | grep gcc-7
#

Mais je ne sais pas si la commande ci-dessus recherche ppa:ubuntu-toolchain-r.

J'ai un peu assemblé les choses, mais elles ne fonctionnent pas comme prévu. Soit la réponse Ubuntu.SE est erronée, la recherche de panne de serveur échoue, soit je fais quelque chose de mal.

(Je n'ai pas de machine Debain 8 disponible pour le paquet gcc-7 , et Fedora 25 semble manquer de GCC 7. Je suis donc assez coincé avec Ubuntu).

Qu'est-ce que je fais mal? Ou, comment puis-je installer GCC 7?


# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety

la source
3
Le ubuntu-toolchain-r/testPPA ne semble pas fournir gcc-7 pour Ubuntu 16.10 (Yakkety) - bien qu'il le fasse à la fois pour 16.04 (Xenial) et 17.04 (Zesty) - comme vous pouvez le voir en visitant l'équipe "PPA pour Ubuntu Toolchain Uploads (restreint)" et filtrage par série
steeldriver
Merci Steeldriver. L'élargissement du signe d'insertion intitulé "Détails techniques sur ce PPA" semble montrer qu'il est disponible pour 16.10. Bizarre ... Je pense que je vais mettre ce rapport de bogue en attente jusqu'à ce que nous trouvions une distribution qui fournit GCC 7.
Le PPA est disponible pour 16.10, mais il ne fournit pas tous les mêmes packages - peut-être parce que 16.10 n'est pas une version LTS
steeldriver
Pour ceux qui ne peuvent pas faire fonctionner cela (comme moi), consultez également Comment annuler l'annulation d'un PPA et l'installation de packages à partir de celui-ci? sur Ubuntu Stack Exchange.

Réponses:

7

Pour installer gcc-7sur ubuntu, vous devez utiliser ce ppa :

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update

Exécutez ensuite: apt-cache search gcc-7

exemple de sortie:

gcc-7-base - GCC, the GNU Compiler Collection (base package)
gcc-7 - GNU C compiler
gcc-7-multilib - GNU C compiler (multilib support)
gcc-7-plugin-dev - Files for GNU GCC plugin development.
gcc-7-test-results - Test results for the GCC test suite
lib32gcc-7-dev - GCC support library (32 bit development files)
libgcc-7-dev - GCC support library (development files)
gcc-7-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
gcc-7-hppa64-linux-gnu - GNU C compiler (cross compiler for hppa64)
gcc-7-locales - GCC, the GNU compiler collection (native language support files)
gcc-7-source - Source of the GNU Compiler Collection
libx32gcc-7-dev - GCC support library (x32 development files)
gcc-7-offload-nvptx - GCC offloading compiler to NVPTX
lib64gcc-7-dev - GCC support library (64bit development files)

Installer gcc-7:

sudo apt install gcc-7
GAD3R
la source
6
Merci GAD3R. Savez-vous qui est Jonathonf? J'essaie d'utiliser l'équipement d'Ubuntu parce qu'il est déjà fiable. Sinon, je dois sauter à travers les cerceaux pour déterminer qui est jonathonf et déterminer s'il est une source fiable.
Cela devrait-il également fonctionner pour Linaro?
Nadav B
2

Ubuntu 18.04 a à la fois GCC 7 (7.3.0-16ubuntu3, au moment où j'écris cette réponse) et GCC 8 (8-20180414-1ubuntu2). Il n'est plus nécessaire d'ajouter des référentiels tiers: il suffit de lancer sudo apt-get install gcc-7.

kiamlaluno
la source
1

Si vous devez configurer un banc d'essai avec le compilateur, Fedora 26 est livré avec GCC 7.1.

Vous pouvez également trouver GCC 7 dans Debian 10 / Buster (Debian 9 avec le test Repo activé). Pour Debian, vous devez apt-get install gcc-7 g++-7.

Pour être complet, il n'est pas clair quelle version des compilateurs Microsoft prend en charge C ++ 17 et std::byte(la raison pour laquelle j'avais besoin du compilateur pour les tests).

Et merci à GAD3R pour son aide. La raison pour laquelle je l'ai évité était que je n'ai pas pu établir la provenance de certains AAE.


la source