Come installare g ++ 4.9.2 in Cent OS 6.5?


13

Sto cercando di installare l'ultima versione di g ++ in Cent OS. Il migliore che ho gestito è il seguente:

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

Ma questo installa g ++ 4.8.2 e non 4.9.2. C'è un modo per installare 4.9.2?

Risposte:


4

Dovrai farlo alla vecchia maniera. Ottieni le fonti GCC, costruiscilo a mano.

Qualche motivo per cui sei contrario a farlo? (Posso pensarne alcuni, ma se non lo fai anche tu, non voglio aggiungere nulla che possa creare confusione).

Se sei riluttante a costruire da fonti, probabilmente posso fornire alcuni passaggi.

NOTA: il motivo è che devtools con 4.9 è attualmente disponibile solo per gli utenti Red Hat con una licenza valida. Aspetta un po 'e alla fine sono sicuro che 4.9 devtools saranno resi disponibili anche agli utenti CentOS come 4.8 al momento.


grazie per aver risposto, sembra che aspetterò per questo. Potete per favore aiutarmi anche qui: superuser.com/questions/834915/…
SpeedCoder

28

CentOS 6/7 lo supporta ufficialmente. Non hai bisogno di repository di terze parti. E la versione di gcc è 4.9.2 nel repository di CentOS.

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

Per usare gli strumenti aggiornati, avvia una nuova shell usando il sclcomando:

scl enable devtoolset-3 bash

Potrebbe anche essere necessario ripristinare la variabile di ambiente PATH, che potrebbe essere impostata in ~ / .bashrc o in un altro file di profilo. Se è necessario modificarlo, dovrebbe puntare a/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Ulteriori informazioni su SCL da CentOS e da Red Hat


Questo non ha funzionato per me. Dopo quei 3 passaggi completati apparentemente di successo, vedo ancora gcc 4.7.2 quando lo facciogcc -v
BT

Ok, oltre a questi passaggi, ho dovuto modificare il mio file .bashrc in modo che la mia variabile d'ambiente PATH fosse impostata su /opt/rh/devtoolset-3/root/usr/bin/:$PATHanziché /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Quindi dopo un riavvio della sessione ha funzionato.
BT

Dopo aver usato questa soluzione vedo che la versione di gcc è davvero aggiornata (usando gcc --version), ma vedo ancora i file di intestazione della vecchia versione. Inoltre, non riesco a trovare la maggior parte delle intestazioni più recenti nella directory che mi aspettavo fossero (/ opt / rh / devtoolset-3 / root / usr / include /). Perché questo può accadere e come posso risolverlo?
MaMazav,

Per fare in modo che questa risposta superi la prova del tempo, aggiungi yum search devtoolset | grep gcc-c++per rivelare il numero corretto anziché 3 come nella risposta
Waslap,

14

Uso il repository Scientific Linux Cern 6 per installare gcc 4.9 e g ++ 4.9 sui miei sistemi CentOS 6.5 e CentOS 6.6. Non installa g ++ 4.9.2. Installa g ++ 4.9.1 invece che è abbastanza buono per le mie esigenze.

Ecco i comandi che utilizzo per installarlo.

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

Come ha detto Michael nel suo commento a questo post, per usare effettivamente la versione di gcc che questo installa, avvia una nuova shell con il seguente comando.

scl enable devtoolset-3 bash

1
Per utilizzare effettivamente la versione di gcc installata, avvia una nuova shell usandoscl enable devtoolset-3 bash
Michael,

@Michael Grazie per averlo menzionato. Ho incluso il tuo commento nella mia risposta ora per rendere la risposta più utile.
Susam Pal,

Inoltre non ha funzionato per me. Come per la risposta di Jesse
BT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.