Wie installiere ich gcc-7 oder clang 4.0?

27

Ich möchte C ++ 17-Funktionen ausprobieren und einen standardkonformen Compiler (vorzugsweise GCC) installieren. Ich bin völlig neu in Linux und Ubuntu und verstehe einfach nicht viel.

Ich habe versucht, https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test zu folgen, aber ohne Glück. Zuerst bin ich gelaufen:

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

Wie ich verstanden habe, installiert dieser Befehl einige Tasten. Als nächstes habe ich versucht:

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

Das gab zurück:

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

Als nächstes habe ich versucht, clang development branch zu installieren:

apt-get install clang-4.0 lldb-4.0

Und es gibt mir

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'

Was bedeutet das alles? Was ist falsch?

Nikitaschwarz
quelle
1
Der add-apt-repositoryBefehl, den Sie ausgeführt haben, stimmt nicht mit dem auf der PPA-Seite angegebenen überein. Kein Wunder, dass er nicht funktioniert. Versuchen Sie es mit der richtigen.
fkraiem
Ich habe zuerst das testPaket installiert . Die Frage wurde aktualisiert.
Nikitablack
add-apt-repositoryDa der Name impliziert, dass ein Repository hinzugefügt wird, wird kein Paket installiert. Jetzt kannst du tun apt install gcc-7.
Fkraiem
Die Test-PPA enthält ein gcc-7-Paket. Haben Sie nicht versucht, das zu installieren?
Dobey
2
@nikitablack Sieht so aus, als ob gcc 7 für 16.04 nicht verfügbar ist: launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/… Aber Sie könnten eine bessere Chance mit clang haben, sehen Sie sich die Basis dieser Seite an: apt.llvm .org
andrew.46

Antworten:

23

Sie können gcc-7 und g ++ - 7 bereits aus diesem Paket installieren .

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7
Jendas
quelle
9
Ja das funktioniert Was den heutigen add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7
Tag betrifft,
clang-4.0.0 wird installiert, aber clang -v zeigt 3.8.0.
RED
Beide sind mit 4.0.0 und 3.8.0 installiert, standardmäßig wird jedoch 3.8 angezeigt. Was bei der Verwendung von Emscripten durcheinander kommt, was dies liest, aber 4.0.0 erfordert.
RED
Läuft dieses Repo aus einem Wohngebiet oder so?
Jonathan Henson
23

Ubuntu 16.04 und niedriger

Es gibt einen offiziellen Ubuntu GCC Test PPA, der bevorzugt werden sollte:

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 wurde im Mai 2017 veröffentlicht , also zu spät für die Hauptversion vom 17.04.

Die PPA hat derzeit keine GCC für neuere Releases, z. B. 16.10, nur LTS 12.04, 14.04 und 16.04, wie unter https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test | zu sehen Schnappschuss . Ich denke, es hatte zuvor 17.04, aber es wurde entfernt? Siehe auch: https://unix.stackexchange.com/questions/371737/install-gcc-7-on-ubuntu

Getestet auf Ubuntu 16.04, Oktober 2018.

Ubuntu 17.10 und höher

Hat standardmäßig GCC 7.2 und Clang 4! 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 am 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

gibt 8.1.0 ab 2018-11.

Standard in Ubuntu 18.04:

Crosstool-NG

Wenn Sie dies wirklich ernst meinen, kompilieren und verwenden Sie Ihr eigenes GCC mit Crosstool-NG, wie unter https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host/52454603# erläutert. 52454603

Auf diese Weise können Sie eine Vielzahl von GCC-Versionen auf einer Vielzahl von Ubuntu-Versionen verwenden, ohne Blobs von PPAs herunterladen zu müssen, denen Sie nicht unbedingt vertrauen.

Ciro Santilli ist ein Schauspieler
quelle
1

OP fragt nach "Wie installiere ich ...". Alternativ können Sie auch Clang 4.0 kompilieren.

Sie können aus dem Quellcode mithilfe des Skripts aus dem GitHub-Repository von Microsoft ChakraCore kompilieren .

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

Aktualisieren Sie LLVM_VERSION="3.9.1"in Zeile 7 aufLLVM_VERSION="4.0.0"

sudo ./compile_clang.sh

Es wird Clang 4.0 (und die gesamte Compiler-Toolchain) mit LLVM Gold-Unterstützung herunterladen und kompilieren.

Nuray Altin
quelle
3
Was ist "LLVM Gold"?
einpoklum
@einpoklum Ich nehme an, es ist das LLVM Gold Plugin für den Gold Linker von Binutils. Es wird zur Optimierung der Verbindungszeit verwendet.
Ruslan