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?


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

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.


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.