Làm cách nào để cài đặt g ++ 4.9.2 trong Cent OS 6.5?


13

Tôi đang cố gắng cài đặt phiên bản g ++ mới nhất trong Cent OS. Điều tốt nhất tôi quản lý là như sau:

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils
yum install devtoolset-2-gcc-c++ devtoolset-2-binutils

Nhưng cái này cài đặt g ++ 4.8.2 chứ không phải 4.9.2. Có cách nào để cài đặt 4.9.2 không?

Câu trả lời:


4

Bạn sẽ phải làm theo cách cũ. Lấy các nguồn GCC, xây dựng nó bằng tay.

Bất kỳ lý do bạn không thích làm điều này? (Tôi có thể nghĩ về một vài người, nhưng trừ khi bạn cũng vậy, tôi không muốn thêm bất cứ điều gì có thể gây nhầm lẫn).

Nếu bạn do dự xây dựng từ các nguồn, tôi có thể cung cấp một số bước.

LƯU Ý: Lý do cho điều đó là các devtools với 4.9 hiện chỉ khả dụng cho người dùng Red Hat có giấy phép hợp lệ. Đợi một lúc và cuối cùng tôi chắc chắn rằng 4,9 devtools sẽ được cung cấp cho người dùng CentOS giống như 4,8 hiện tại.


cảm ơn vì đã trả lời, có vẻ như tôi sẽ chờ đợi điều này. Bạn có thể vui lòng giúp tôi ở đây không: superuser.com/questions/834915/ từ
SpeedCoder

28

CentOS 6/7 chính thức hỗ trợ này. Bạn không cần kho lưu trữ của bên thứ ba. Và phiên bản gcc là 4.9.2 trong repo của CentOS.

yum install centos-release-scl-rh          
yum install devtoolset-3-gcc devtoolset-3-gcc-c++   

Để sử dụng các công cụ cập nhật, bắt đầu một shell mới bằng scllệnh:

scl enable devtoolset-3 bash

Bạn cũng có thể cần đặt lại biến môi trường PATH của mình, có thể được đặt trong ~ / .bashrc hoặc tệp hồ sơ khác. Nếu bạn cần thay đổi nó, nó nên trỏ đến/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Thông tin thêm về SCL từ CentOS và từ Red Hat


Điều này đã không làm việc cho tôi. Sau khi 3 bước hoàn thành có vẻ thành công, tôi vẫn thấy gcc 4.7.2 khi tôi làmgcc -v
BT

Ok, ngoài các bước này, tôi đã phải thay đổi tệp .bashrc để biến môi trường PATH của tôi được đặt thành /opt/rh/devtoolset-3/root/usr/bin/:$PATHthay vì /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Sau một phiên khởi động lại, nó hoạt động.
BT

Sau khi sử dụng giải pháp này, tôi thấy rằng phiên bản gcc thực sự được cập nhật (sử dụng gcc --version), nhưng tôi vẫn thấy các tệp tiêu đề từ phiên bản cũ. Hơn nữa, tôi không thể tìm thấy hầu hết các tiêu đề mới hơn trong thư mục mà tôi mong đợi chúng là (/ opt / rh / devtoolset-3 / root / usr / include /). Tại sao điều này có thể xảy ra và làm thế nào tôi có thể giải quyết nó?
MaMazav

Để làm cho câu trả lời này đứng vững trong thử thách của thời gian, hãy thêm yum search devtoolset | grep gcc-c++để tiết lộ số chính xác thay vì 3 như trong câu trả lời
Waslap

14

Tôi sử dụng kho lưu trữ Khoa học Linux Cern 6 để cài đặt gcc 4.9 và g ++ 4.9 trên các hệ thống CentOS 6.5 và CentOS 6.6 của tôi. Nó không cài đặt g ++ 4.9.2. Nó cài đặt g ++ 4.9.1 thay vào đó là đủ tốt cho nhu cầu của tôi.

Dưới đây là các lệnh tôi sử dụng để cài đặt nó.

cd /etc/yum.repos.d
wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
yum -y --nogpgcheck install devtoolset-3-gcc devtoolset-3-gcc-c++

Như Michael đã nói trong bình luận của mình cho bài đăng này, để thực sự sử dụng phiên bản gcc mà bản này cài đặt, hãy bắt đầu một trình bao mới với lệnh sau.

scl enable devtoolset-3 bash

1
Để thực sự sử dụng phiên bản gcc mà cài đặt này, hãy bắt đầu một trình bao mới bằng cách sử dụngscl enable devtoolset-3 bash
Michael

@Michael Cảm ơn bạn đã đề cập đến điều này. Tôi đã bao gồm nhận xét của bạn trong câu trả lời của tôi bây giờ để làm cho câu trả lời hữu ích hơn.
Susam Pal

Cũng không làm việc cho tôi. Tương tự như câu trả lời của Jesse
BT
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.