Instal GCC 7 di Ubuntu?

11

Saya mencoba menjalankan tes di bawah GCC 7. Menurut Cara menginstal gcc-7 atau dentang 4.0? di Ubuntu.SE, kita dapat melakukan hal berikut untuk menginstal GCC 7 di Ubuntu:

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

Perintah gagal saat instalasi:

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

Dan mencoba 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'

Menurut Daftar semua paket dari repositori di ubuntu / debian di Server Fault, kami dapat mencari repo tertentu untuk sebuah paket dengan:

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

Tetapi saya tidak yakin apakah perintah di atas mencari ppa:ubuntu-toolchain-r.

Saya semacam mengumpulkan hal-hal bersama, tetapi mereka tidak bekerja seperti yang diharapkan. Entah jawaban Ubuntu.SE salah, pencarian Server Fault gagal, atau saya melakukan sesuatu yang salah.

(Saya tidak memiliki mesin Debain 8 yang tersedia untuk paket gcc-7 , dan Fedora 25 tampaknya tidak memiliki GCC 7. Jadi saya cukup banyak terjebak dengan Ubuntu).

Apa yang saya lakukan salah? Atau, bagaimana saya bisa menginstal GCC 7?


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

sumber
3
The ubuntu-toolchain-r/testPPA tidak muncul untuk memberikan gcc-7 untuk Ubuntu 16.10 (Yakkety) - meskipun tidak untuk kedua 16.04 (Xenial) dan 17.04 (Zesty) - seperti yang Anda lihat dengan mengunjungi “PPA untuk Ubuntu toolchain Upload (terbatas)” tim dan pemfilteran menurut seri
steeldriver
Terima kasih Steeldriver. Memperluas tanda sisipan yang bertuliskan "Rincian teknis tentang PPA ini" tampaknya menunjukkan tersedia untuk 16.10. Aneh ... Saya pikir saya akan menunda laporan bug ini sampai kita dapat menemukan distro yang menyediakan GCC 7.
PPA tersedia untuk 16.10, tetapi tidak memberikan semua paket yang sama - mungkin karena 16.10 bukan rilis LTS
steeldriver
Bagi mereka yang tidak bisa mendapatkan ini berfungsi (seperti saya), juga lihat Bagaimana saya bisa membatalkan menambahkan PPA dan menginstal paket dari itu? di Ubuntu Stack Exchange.

Jawaban:

7

Untuk menginstal gcc-7di ubuntu Anda harus menggunakan ppa ini :

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

Lalu lari: apt-cache search gcc-7

output sampel:

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)

Pasang gcc-7:

sudo apt install gcc-7
GAD3R
sumber
6
Terima kasih GAD3R. Apakah Anda tahu siapa itu jonathonf? Saya mencoba menggunakan peralatan Ubuntu karena sudah dipercaya. Kalau tidak, saya harus melompat melalui lingkaran mencari tahu siapa jonathonf, dan menentukan apakah dia adalah sumber yang dapat dipercaya.
Haruskah itu bekerja untuk linaro juga?
Nadav B
2

Ubuntu 18.04 memiliki kedua GCC 7 (7.3.0-16ubuntu3, saat ini saya sedang menulis jawaban ini) dan GCC 8 (8-20180414-1ubuntu2). Tidak perlu lagi menambahkan repositori pihak ketiga: Jalankan saja sudo apt-get install gcc-7.

kiamlaluno
sumber
1

Jika Anda perlu memasang rig uji dengan kompiler, maka Fedora 26 dikirimkan dengan GCC 7.1.

Anda juga dapat menemukan GCC 7 di Debian 10 / Buster (Debian 9 dengan Repo pengujian diaktifkan). Untuk Debian, Anda harus apt-get install gcc-7 g++-7.

Untuk kelengkapan, tidak jelas versi mana dari kompiler Microsoft yang mendukung C ++ 17 dan std::byte(alasan saya membutuhkan kompiler untuk pengujian).

Dan terima kasih kepada GAD3R untuk bantuannya. Alasan saya menghindarinya adalah karena saya tidak dapat membuat sumber untuk beberapa PPA.


sumber