Comment installer gcc-7 ou clang 4.0?

27

Je veux essayer les fonctionnalités C ++ 17 et je veux installer un compilateur compatible standard (de préférence GCC). Je suis totalement nouveau sur Linux et Ubuntu et je ne comprends tout simplement pas beaucoup.

J'ai essayé de suivre https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test mais sans succès. J'ai d'abord couru:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

Si j'ai bien compris, cette commande installe certaines clés. Ensuite, j'ai essayé:

sudo add-apt-repository ppa:ubuntu-toolchain-r/gcc-7

Cela revint:

Error: 'ppa:ubuntu-toolchain-r/gcc-7' invalid

Ensuite, j'ai essayé d'installer la branche de développement de Clang:

apt-get install clang-4.0 lldb-4.0

Et ça me donne

E: Unable to locate package clang-4.0
E: Couldn't find any package by glob 'clang-4.0'
E: Couldn't find any package by regex 'clang-4.0'
E: Unable to locate package lldb-4.0
E: Couldn't find any package by glob 'lldb-4.0'
E: Couldn't find any package by regex 'lldb-4.0'

Qu'est-ce que tout cela signifie? Qu'est-ce qui ne va pas?

nikitablack
la source
1
La add-apt-repositorycommande que vous avez exécutée n'est pas la même que celle donnée sur la page du PPA, il n'est donc pas étonnant qu'elle ne fonctionne pas. Essayez d'exécuter la bonne.
fkraiem
J'ai installé le testpackage en premier. Mis à jour la question.
nikitablack
add-apt-repositorycomme son nom l'indique ajoute un référentiel, il n'installe pas de package. Vous pouvez maintenant le faire apt install gcc-7.
fkraiem
Le test PPA contient un package gcc-7. N'avez-vous pas essayé de l'installer?
dobey
2
@nikitablack On dirait que gcc 7 n'est pas disponible pour 16.04: launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/… Mais vous pourriez avoir une meilleure chance avec clang, regardez au bas de cette page: apt.llvm .org
andrew.46

Réponses:

23

Vous pouvez déjà installer gcc-7 et g ++ - 7 à partir de ce paquet .

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7
Jendas
la source
9
Oui, ça marche. Quant à aujourd'hui, ce ppa fonctionne aussiadd-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7
nikitablack
clang-4.0.0 est installé mais clang -v affiche 3.8.0.
RED
Les deux sont installés 4.0.0 et 3.8.0 mais par défaut, le système lit 3.8. Ce qui gâche tout en utilisant Emscripten qui lit ceci mais nécessite 4.0.0.
RED
ce dépôt fonctionne-t-il à partir d'une connexion résidentielle ou quelque chose?
Jonathan Henson
23

Ubuntu 16.04 et versions antérieures

Il existe un PPA de test officiel Ubuntu GCC qui devrait être préféré:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7
gcc-7 --version

GCC 7 est sorti en mai 2017 , donc trop tard pour la version principale du 17.04.

Le PPA ne dispose pas actuellement de GCC pour les versions plus récentes, par exemple 16.10, uniquement LTS 12.04, 14.04 et 16.04, comme on peut le voir sur: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test | instantané . Je pense qu'il avait 17.04 auparavant mais il a été supprimé? Voir également: /unix/371737/install-gcc-7-on-ubuntu

Testé sur Ubuntu 16.04, octobre 2018.

Ubuntu 17.10 et supérieur

A GCC 7.2 et clang 4 par défaut! https://packages.ubuntu.com/artful/gcc | https://packages.ubuntu.com/artful/clang

$ gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0
$ clang --version  
clang version 4.0.1-6 (tags/RELEASE_401/final)

GCC 8 le 16.04

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version

donne 8.1.0 à partir de 2018-11.

Par défaut dans Ubuntu 18.04:

Crosstool-NG

Si vous êtes vraiment sérieux à ce sujet, compilez et utilisez votre propre GCC avec Crosstool-NG comme expliqué sur: /programming/847179/multiple-glibc-libraries-on-a-single-host/52454603# 52454603

Cela vous permettra d'utiliser une grande variété de versions de GCC sur une grande variété de versions d'Ubuntu sans télécharger de blobs à partir de PPA auxquels vous ne faites pas nécessairement confiance.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
la source
1

OP demande "comment installer ...". Alternativement, comment compiler Clang 4.0.

Vous pouvez compiler à partir du code source en utilisant le script du référentiel GitHub de Microsoft ChakraCore .

wget https://raw.githubusercontent.com/Microsoft/ChakraCore/master/tools/compile_clang.sh

Mettre LLVM_VERSION="3.9.1"à jour à la ligne 7 pourLLVM_VERSION="4.0.0"

sudo ./compile_clang.sh

Il va télécharger et compiler Clang 4.0 (et l'ensemble de la chaîne d'outils du compilateur) avec le support LLVM Gold.

Nuray Altin
la source
3
Qu'est-ce que "LLVM gold"?
einpoklum - réintégrer Monica
@einpoklum Je suppose que c'est le plugin LLVM gold pour le Gold Linker de Binutils. Il est utilisé pour l'optimisation du temps de liaison.
Ruslan