Làm thế nào để cài đặt gcc 5.3 với yum trên CentOS 7.2?


94

Tôi đang sử dụng CentOS 7.2

Khi tôi sử dụng yum groupinstall "Development Tools", phiên bản gcc là 4.8.5, như sau:

nhập mô tả hình ảnh ở đây

Tôi muốn cài đặt gcc 5.3

Làm thế nào để tiếp cận điều này với yum?



@MohammadShahadatHossain Có yumtài nguyên ở đâu không?
nắng vào

Tôi không chắc nhưng Trong trường hợp này, bạn có thể sử dụng tài nguyên RPM từ đây. rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain

devtoolset hiện cung cấp 5.3.1 - hãy xem câu trả lời của tôi bên dưới để biết các lệnh để bật và cài đặt nó bằng yum.
tesch1

Câu trả lời:


184

Cập nhật:
Thường thì mọi người muốn phiên bản gcc mới nhất và devtoolset đang được cập nhật, vì vậy có thể bạn muốn devtoolset-N trong đó N = {4,5,6,7 ...}, hãy kiểm tra mới nhất hiện có trên hệ thống của bạn). Đã cập nhật cmd bên dưới cho N = 7.

Có một gói gcc-7.2.1 cho devtoolset-7 làm ví dụ. Trước tiên, bạn cần bật Bộ sưu tập phần mềm , sau đó nó có sẵn trong devtoolset-7:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version

2
phiên bản gcc trong devtoolset có trong thời gian trung bình được đụng đến 5.3.1
tesch1

4
Không chỉ vậy, bạn có thể cài đặt devtoolset-6 để nhận 6.2.1
Rahly

4
thay đổi liên kết biểu tượng không phải là điều tốt nhất nên làm, vì nó có thể được sở hữu / quản lý bởi một gói khác có thể được nâng cấp. Nó tốt hơn để kích hoạt nó trong đăng nhập của bạn, hoặc trong kịch bản đăng nhập trên toàn hệ thống với scl enable devtoolset-6 bashhoặc . /opt/rh/devtoolset-6/bin/enable liên kết được cập nhật để các phần mềm công cụ tài liệu
tesch1

1
Chạy cũng yum install devtoolset-4-binutilscó thể hữu ích để có được chuỗi công cụ GCC hoàn chỉnh.
scrutari

5
Tôi đã sử dụng source scl_source enable devtoolset-4để chuyển đổi gcc hiện tại của mình bằng một gcc được cài đặt bởidevtoolset-4
WF

74

Cập nhật: Cài đặt phiên bản mới nhất của gcc 9: ( gcc 9.3.0 ) - phát hành ngày 12 tháng 3 năm 2020 :

Phương pháp tương tự có thể được áp dụng cho gcc 10 ( gcc 10.1.0 ) - phát hành ngày 7 tháng 5 năm 2020

Tải xuống tệp: gcc-9.3.0.tar.gz hoặc gcc-10.1.0.tar.gz

Biên dịch và cài đặt:

//required libraries: (some may already have been installed)
dnf install libmpc-devel mpfr-devel gmp-devel

//if dnf install libmpc-devel is not working try:
dnf --enablerepo=PowerTools install libmpc-devel

//install zlib
dnf install zlib-devel*

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around an hour or more to finish
              (depending on your cpu speed)

make install

Đã kiểm tra theo CentOS 7.8.2003 cho gcc 9.3 và gcc 10.1

Đã kiểm tra theo CentOS 8.1.1911 cho gcc 10.1 (có thể mất nhiều thời gian hơn để biên dịch)

Kết quả: gcc / g ++ 9.3.0 / 10.1.0

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Cài đặt gcc 7.4 (gcc 7.4.0) - phát hành ngày 6 tháng 12 năm 2018 :

Tải xuống tệp: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Biên dịch và cài đặt:

//required libraries:
yum install libmpc-devel mpfr-devel gmp-devel

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around 50 minutes or less to finish with 8 threads
              (depending on your cpu speed)


make install

Kết quả:

nhập mô tả hình ảnh ở đây

Ghi chú:

1. Câu trả lời Stack Overflow này sẽ giúp biết cách xác minh tệp nguồn đã tải xuống.

2. Sử dụng tùy chọn --prefixđể cài đặt gcc vào một thư mục khác với thư mục mặc định. Thư mục cài đặt toplevel mặc định là / usr / local. Đọc về các tùy chọn cài đặt gcc


Tại sao tải xuống từ ftp.mirrorservice.org thay vì ftp.gnu.org? Bạn cũng nên tải xuống và xác minh .sigtệp tương ứng (chữ ký pgp).
Keith Thompson

Cấu hình như hiển thị mà không --prefix sẽ cài đặt trong / usr / / local mà có thể hoặc không thể đến trước cài đặt gcc ban đầu của bạn trên PATH
tim18

1
make -j $(nproc)
Chepe Questn

2
Tôi mất hơn 4 giờ để biên dịch và hơn 6gb dung lượng ổ cứng.
iDevFS

Như tim18 đã đề xuất, nó có an toàn để chạy make && make installmà không có --prefix? Nếu làm như vậy, tất cả mọi thứ đã được cài đặt vào /usr/thậm chí không /usr/local, kiểm tra config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor

6

Bạn có thể sử dụng đại diện thử nghiệm centos-sclo-rh để cài đặt GCC v7 mà không cần phải biên dịch mãi mãi, cũng có thể bật V7 theo mặc định và cho phép bạn chuyển đổi giữa các phiên bản khác nhau nếu cần.

sudo yum install -y yum-utils centos-release-scl;
sudo yum -y --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc;
echo "source /opt/rh/devtoolset-7/enable" | sudo tee -a /etc/profile;
source /opt/rh/devtoolset-7/enable;
gcc --version;

Mặc dù mã này có thể trả lời câu hỏi, nhưng tốt hơn là bạn nên giải thích cách giải quyết vấn đề và cung cấp mã làm ví dụ hoặc tham chiếu. Câu trả lời chỉ có mã có thể khó hiểu và thiếu ngữ cảnh.
Robert Columbia

Đáng tiếc là giải pháp này không cập nhật /usr/lib64/libstdc++.sotệp để có các ký hiệu mới hơn.
vảy

5

Cách tốt nhất để sử dụng yum và cập nhật devtoolset của bạn là sử dụng kho lưu trữ Thử nghiệm CentOS SCLo RH.

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++

Nhiều gói bổ sung cũng có sẵn, để xem tất cả

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*

Bạn có thể sử dụng phương pháp này để cài đặt bất kỳ phiên bản công cụ phát triển nào, chỉ cần hoán đổi 7 cho phiên bản mong muốn của bạn. devtoolset-6-gcc, devtoolset-5-gcc, v.v.


-11

Lệnh cài đặt GCC và Công cụ phát triển trên máy chủ CentOS / RHEL 7

Nhập lệnh yum sau với tư cách là người dùng root:

yum nhóm cài đặt "Công cụ phát triển"

HOẶC LÀ

sudo yum nhóm cài đặt "Công cụ phát triển"

Nếu lệnh trên không thành công, hãy thử:

yum groupinstall "Công cụ phát triển"

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.