Comment installer g ++ 4.9.2 dans Cent OS 6.5?

13

J'essaie d'installer la dernière version de g ++ dans Cent OS. Le mieux que j'ai réussi est le suivant:

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

Mais cela installe g ++ 4.8.2 et non 4.9.2. Existe-t-il un moyen d'installer 4.9.2?

SpeedCoder
la source

Réponses:

4

Vous devrez le faire à l'ancienne. Obtenez les sources GCC, construisez-les à la main.

Une raison pour laquelle vous êtes opposé à faire cela? (Je peux penser à quelques-uns, mais à moins que vous ne le fassiez aussi, je ne veux pas ajouter quoi que ce soit qui pourrait prêter à confusion).

Si vous hésitez à construire à partir de sources, je peux probablement vous fournir quelques étapes.

REMARQUE: La raison en est que les devtools avec 4.9 ne sont actuellement disponibles que pour les utilisateurs de Red Hat avec une licence valide. Attendez un moment, et finalement je suis sûr que 4.9 devtools seront également disponibles pour les utilisateurs de CentOS, comme 4.8 actuellement.

Hari Sundararajan
la source
merci d'avoir répondu, il semble que j'attendrai cela. Pouvez-vous m'aider ici aussi: superuser.com/questions/834915/…
SpeedCoder
28

CentOS 6/7 prend officiellement cela en charge. Vous n'avez pas besoin d'un référentiel tiers. Et la version gcc est 4.9.2 dans le repo de CentOS.

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

Pour utiliser les outils mis à jour, démarrez un nouveau shell à l'aide de la sclcommande:

scl enable devtoolset-3 bash

Vous devrez peut-être également réinitialiser votre variable d'environnement PATH, qui peut être définie dans ~ / .bashrc ou un autre fichier de profil. Si vous devez le changer, il doit indiquer/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Plus d'informations sur le SCL de CentOS et de Red Hat

Jesse
la source
Ça n'a pas marché pour moi. Après que ces 3 étapes soient apparemment réussies, je vois toujours gcc 4.7.2 quand je le faisgcc -v
BT
Ok, en plus de ces étapes, j'ai dû changer mon fichier .bashrc pour que ma variable d'environnement PATH soit définie sur /opt/rh/devtoolset-3/root/usr/bin/:$PATHplutôt que /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Ensuite, après un redémarrage de session, cela a fonctionné.
BT
Après avoir utilisé cette solution, je vois que la version gcc a vraiment été mise à jour (en utilisant gcc --version), mais je vois toujours les fichiers d'en-tête de l'ancienne version. De plus, je ne trouve pas la plupart des nouveaux en-têtes dans le répertoire que je m'attendais à ce qu'ils soient (/ opt / rh / devtoolset-3 / root / usr / include /). Pourquoi cela peut-il arriver et comment le résoudre?
MaMazav
Pour que cette réponse résiste à l'épreuve du temps, ajoutez yum search devtoolset | grep gcc-c++pour révéler le bon nombre au lieu de 3 comme dans la réponse
Waslap
14

J'utilise le référentiel Scientific Linux Cern 6 pour installer gcc 4.9 et g ++ 4.9 sur mes systèmes CentOS 6.5 et CentOS 6.6. Il n'installe pas g ++ 4.9.2. Il installe plutôt g ++ 4.9.1, ce qui est assez bon pour mes besoins.

Voici les commandes que j'utilise pour l'installer.

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

Comme Michael l'a dit dans son commentaire à ce post, pour utiliser réellement la version de gcc que cela installe, lancez un nouveau shell avec la commande suivante.

scl enable devtoolset-3 bash
Susam Pal
la source
1
Pour utiliser réellement la version de gcc que cela installe, démarrez un nouveau shell à l'aide descl enable devtoolset-3 bash
Michael
@Michael Merci d'avoir mentionné cela. J'ai inclus votre commentaire dans ma réponse maintenant pour rendre la réponse plus utile.
Susam Pal
Cela ne fonctionnait pas non plus pour moi. Identique à la réponse de Jesse
BT