Bagaimana cara menginstal gcc-7 atau dentang 4.0?


27

Saya ingin mencoba fitur C ++ 17 dan saya ingin menginstal compiler standar yang kompatibel (lebih disukai GCC). Saya benar-benar baru di Linux dan Ubuntu dan saya tidak mengerti banyak.

Saya mencoba mengikuti https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test tetapi tidak berhasil. Pertama saya berlari:

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

Seperti yang saya pahami, perintah ini menginstal beberapa kunci. Selanjutnya saya mencoba:

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

Itu kembali:

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

Selanjutnya saya mencoba menginstal cabang pengembangan dentang:

apt-get install clang-4.0 lldb-4.0

Dan itu memberi saya

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'

Apa artinya semua ini? Apa yang salah?


1
The add-apt-repositoryperintah yang Anda berlari tidak sama dengan yang diberikan pada halaman PPA, sehingga tak heran itu tidak bekerja. Coba jalankan yang benar.
fkraiem

Saya menginstal testpaket terlebih dahulu. Memperbarui pertanyaan.
nikitablack

add-apt-repositoryseperti namanya menambahkan repositori, itu tidak menginstal paket. Sekarang kamu bisa melakukannya apt install gcc-7.
fkraiem

PPA uji memiliki paket gcc-7 di dalamnya. Apakah Anda belum mencoba menginstalnya?
dobey

2
@nikitablack Sepertinya gcc 7 tidak tersedia untuk 16.04: launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/... Tapi Anda mungkin memiliki kesempatan lebih baik dengan dentang, lihat di bagian bawah halaman ini: apt.llvm .org
andrew.46

Jawaban:


23

Anda sudah dapat menginstal gcc-7 dan g ++ - 7 dari paket ini .

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7

9
Ya, ini berhasil. Adapun hari ini, ppa ini juga berfungsiadd-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7
nikitablack

dentang-4.0.0 diinstal tetapi dentang -v menunjukkan 3.8.0.
RED

Keduanya diinstal 4.0.0 dan 3.8.0 tetapi secara default sistem membaca 3.8. Yang mengacaukan saat menggunakan Emscripten yang membaca ini tetapi membutuhkan 4.0.0.
RED

Apakah repo ini berjalan dari koneksi perumahan atau semacamnya?
Jonathan Henson

23

Ubuntu 16.04 dan lebih rendah

Ada PPA uji Ubuntu GCC resmi yang harus dipilih:

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 dirilis pada Mei 2017 , jadi terlambat untuk 17,04 rilis utama.

PPA saat ini tidak memiliki GCC untuk rilis yang lebih baru misalnya 16.10, hanya LTS 12.04, 14.04 dan 16.04, seperti yang dapat dilihat di: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test | snapshot . Saya pikir itu memiliki 17,04 sebelumnya tetapi sudah dihapus? Lihat juga: /unix/371737/install-gcc-7-on-ubuntu

Diuji pada Ubuntu 16.04, Oktober 2018.

Ubuntu 17.10 ke atas

Memiliki GCC 7.2 dan clang 4 secara default! 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 pada 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

memberikan 8.1.0 pada 2018-11.

Default di Ubuntu 18.04:

Crosstool-NG

Jika Anda benar-benar serius tentang hal ini, kompilasi dan gunakan GCC Anda sendiri dengan Crosstool-NG sebagaimana dijelaskan di: /programming/847179/multiple-glibc-libraries-on-a-single-host/52454603# 52454603

Ini akan memungkinkan Anda untuk menggunakan berbagai versi GCC pada berbagai versi Ubuntu tanpa mengunduh gumpalan dari PPA yang tidak selalu Anda percayai.


1

OP meminta "cara menginstal ...". Atau, bagaimana cara mengkompilasi Dentang 4.0.

Anda dapat mengkompilasi dari kode sumber menggunakan skrip dari repositori GitHub Microsoft ChakraCore .

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

Perbarui LLVM_VERSION="3.9.1"pada baris 7 hinggaLLVM_VERSION="4.0.0"

sudo ./compile_clang.sh

Ini akan mengunduh dan mengkompilasi Clang 4.0 (dan seluruh rantai alat penyusun) dengan dukungan LLVM Gold.


3
Apa itu "LLVM gold"?
einpoklum - mengembalikan Monica

@einpoklum Saya kira itu adalah plugin emas LLVM untuk Gold Linker dari Binutils. Ini digunakan untuk optimasi tautan-waktu.
Ruslan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.