Cài đặt GCC 7 trên Ubuntu?


11

Tôi đang cố chạy thử nghiệm theo GCC 7. Theo Cách cài đặt gcc-7 hoặc clang 4.0? trên Ubuntu.SE, chúng tôi có thể thực hiện các thao tác sau để cài đặt GCC 7 trên Ubuntu:

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

Lệnh không thành công khi cài đặt:

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

Và thử 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'

Theo Danh sách tất cả các gói từ kho lưu trữ trong ubfox / debian trên Server Fault, chúng tôi có thể tìm kiếm một repo cụ thể cho gói với:

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

Nhưng tôi không chắc nếu lệnh trên đang tìm kiếm ppa:ubuntu-toolchain-r.

Tôi loại những thứ chắp ghép với nhau, nhưng chúng không hoạt động như mong đợi. Hoặc câu trả lời của Ubuntu.SE là sai, tìm kiếm Lỗi Máy chủ bị lỗi hoặc tôi đang làm gì đó sai.

(Tôi không có sẵn máy Debain 8 cho gói gcc-7 và Fedora 25 dường như thiếu GCC 7. Vì vậy, tôi gặp khá nhiều khó khăn với Ubuntu).

Tôi đang làm gì sai? Hoặc, làm cách nào để cài đặt GCC 7?


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

3
Các ubuntu-toolchain-r/testPPA không xuất hiện để cung cấp gcc-7 cho Ubuntu 16.10 (Yakkety) - mặc dù nó cho cả 16,04 (Xenial) và 17.04 (Zesty) - như bạn có thể nhìn thấy bằng cách truy cập “PPA cho Ubuntu toolchain Video tải lên (hạn chế)” đội và lọc theo loạt
Steeldo

Cảm ơn Steeldo. Mở rộng dấu mũ có nhãn "Chi tiết kỹ thuật về PPA này" dường như hiển thị có sẵn cho ngày 16.10. Thật kỳ lạ ... Tôi nghĩ rằng tôi sẽ tạm dừng báo cáo lỗi này cho đến khi chúng tôi có thể tìm thấy một bản phân phối cung cấp GCC 7.

PPA có sẵn cho 16.10, nhưng nó không cung cấp tất cả các gói giống nhau - có thể vì 16.10 không phải là bản phát hành LTS
Steeldo

Đối với những người không thể làm việc này (như tôi), hãy xem Làm cách nào tôi có thể hoàn tác thêm PPA và cài đặt các gói từ nó? trên Ubuntu Stack Exchange.

Câu trả lời:


7

Để cài đặt gcc-7trên Ubuntu, bạn nên sử dụng ppa này :

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

Sau đó chạy: apt-cache search gcc-7

đầu ra mẫu:

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)

Cài đặt gcc-7:

sudo apt install gcc-7

6
Cảm ơn GAD3R. Bạn có biết jonathonf là ai không? Tôi đang cố gắng sử dụng thiết bị của Ubuntu vì nó đã được tin cậy. Mặt khác, tôi phải nhảy qua các vòng để tìm ra jonathonf là ai, và xác định xem anh ta có phải là một nguồn đáng tin cậy hay không.

Nó có nên làm việc cho linaro không?
Nadav B

2

Ubuntu 18.04 có cả GCC 7 (7.3.0-16ubfox3, tại thời điểm tôi đang viết câu trả lời này) và GCC 8 (8-20180414-1ubfox2). Không còn nhu cầu thêm kho lưu trữ của bên thứ ba: Chỉ cần chạy sudo apt-get install gcc-7.


1

Nếu bạn cần thiết lập một giàn thử nghiệm với trình biên dịch, thì Fedora 26 sẽ xuất xưởng với GCC 7.1.

Bạn cũng có thể tìm thấy GCC 7 trong Debian 10 / Buster (Debian 9 với tính năng Repo thử nghiệm được bật). Đối với Debian, bạn phải apt-get install gcc-7 g++-7.

Để đầy đủ, không rõ phiên bản nào của trình biên dịch Microsoft hỗ trợ C ++ 17 và std::byte(lý do tôi cần trình biên dịch để thử nghiệm).

Và cảm ơn GAD3R vì sự giúp đỡ của anh ấy. Lý do tôi tránh nó là vì tôi không thể thiết lập xuất xứ cho một số PPA.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.