Bagaimana cara menginstal g ++ 4.9.2 di Cent OS 6.5?

13

Saya mencoba menginstal versi terbaru g ++ di Cent OS. Yang terbaik yang saya kelola adalah sebagai berikut:

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

Tetapi ini menginstal g ++ 4.8.2 dan bukan 4.9.2. Apakah ada cara untuk menginstal 4.9.2?

SpeedCoder
sumber

Jawaban:

4

Anda harus melakukannya dengan cara kuno. Dapatkan sumber GCC, bangun dengan tangan.

Adakah alasan Anda enggan melakukan ini? (Saya dapat memikirkan beberapa hal, tetapi kecuali jika Anda melakukannya juga, saya tidak ingin menambahkan sesuatu yang mungkin membingungkan).

Jika Anda ragu untuk membangun dari sumber, saya mungkin dapat memberikan beberapa langkah.

CATATAN: Alasan untuk itu adalah devtools dengan 4,9 saat ini hanya tersedia untuk pengguna Red Hat dengan lisensi yang valid. Tunggu sebentar, dan akhirnya saya yakin 4,9 devtools akan tersedia untuk pengguna CentOS seperti 4,8 saat ini.

Hari Sundararajan
sumber
terima kasih telah menjawab, sepertinya saya akan menunggu untuk ini. Bisakah Anda membantu saya di sini juga: superuser.com/questions/834915/…
SpeedCoder
28

CentOS 6/7 secara resmi mendukung ini. Anda tidak perlu repositori pihak ketiga. Dan versi gcc adalah 4.9.2 dalam repo CentOS.

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

Untuk menggunakan alat yang diperbarui, mulai shell baru menggunakan sclperintah:

scl enable devtoolset-3 bash

Anda mungkin juga perlu mereset variabel lingkungan PATH Anda, yang mungkin diatur dalam ~ / .bashrc atau file profil lainnya. Jika Anda perlu mengubahnya, itu harus menunjuk ke/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Informasi lebih lanjut tentang SCL dari CentOS dan dari Red Hat

Jesse
sumber
Ini tidak berhasil untuk saya. Setelah 3 langkah itu tampaknya berhasil, saya masih melihat gcc 4.7.2 ketika saya melakukannyagcc -v
BT
Oke, selain langkah-langkah ini, saya harus mengubah file .bashrc saya sehingga variabel lingkungan PATH saya diatur /opt/rh/devtoolset-3/root/usr/bin/:$PATHdaripada /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Kemudian setelah sesi restart itu berhasil.
BT
Setelah menggunakan solusi ini saya melihat bahwa versi gcc benar-benar diperbarui (menggunakan gcc --versi), tetapi saya masih melihat file header dari versi yang lama. Selain itu, saya tidak dapat menemukan sebagian besar header yang lebih baru dalam direktori yang saya harapkan (/ opt / rh / devtoolset-3 / root / usr / include /). Mengapa ini bisa terjadi dan bagaimana saya bisa menyelesaikannya?
MaMazav
Untuk membuat jawaban ini bertahan dalam ujian waktu, tambahkan yum search devtoolset | grep gcc-c++untuk mengungkapkan angka yang benar dan bukan 3 seperti dalam jawaban
Waslap
14

Saya menggunakan repositori Scientific Linux Cern 6 untuk menginstal gcc 4.9 dan g ++ 4.9 pada sistem CentOS 6.5 dan CentOS 6.6 saya. Itu tidak menginstal g ++ 4.9.2. Ini menginstal g ++ 4.9.1 sebagai gantinya yang cukup baik untuk kebutuhan saya.

Berikut adalah perintah yang saya gunakan untuk menginstalnya.

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++

Seperti yang dikatakan Michael dalam komentarnya pada posting ini, untuk benar-benar menggunakan versi gcc yang diinstal ini, mulai sebuah shell baru dengan perintah berikut.

scl enable devtoolset-3 bash
Susam Pal
sumber
1
Untuk benar-benar menggunakan versi gcc yang diinstal ini, mulai shell baru menggunakanscl enable devtoolset-3 bash
Michael
@Michael Terima kasih telah menyebutkan ini. Saya telah memasukkan komentar Anda dalam jawaban saya sekarang untuk membuat jawabannya lebih bermanfaat.
Susam Pal
Juga tidak berhasil untuk saya. Sama seperti untuk jawaban Jesse
BT