Como instalar o g ++ 4.9.2 no Cent OS 6.5?

13

Estou tentando instalar a versão mais recente do g ++ no Cent OS. O melhor que gerenciei é o seguinte:

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

Mas isso instala o g ++ 4.8.2 e não o 4.9.2. Existe uma maneira de instalar o 4.9.2?

SpeedCoder
fonte

Respostas:

4

Você terá que fazê-lo à moda antiga. Obtenha as fontes do GCC, construa-as manualmente.

Algum motivo pelo qual você é avesso a fazer isso? (Posso pensar em alguns, mas, a menos que você faça isso, não quero adicionar nada que possa ser confuso).

Se você hesitar em criar a partir de fontes, provavelmente posso fornecer algumas etapas.

NOTA: O motivo disso é que os devtools com 4.9 estão disponíveis atualmente apenas para usuários do Red Hat com uma licença válida. Espere um pouco e, finalmente, tenho certeza de que 4.9 devtools serão disponibilizados para os usuários do CentOS, como o 4.8 atualmente.

Hari Sundararajan
fonte
obrigado por responder, parece que vou esperar por isso. Você pode me ajudar aqui também: superuser.com/questions/834915/...
SpeedCoder
28

O CentOS 6/7 suporta oficialmente isso. Você não precisa de repositório de terceiros. E a versão do gcc é 4.9.2 no repositório do CentOS.

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

Para usar as ferramentas atualizadas, inicie um novo shell usando o sclcomando:

scl enable devtoolset-3 bash

Você também pode precisar redefinir sua variável de ambiente PATH, que pode ser definida em ~ / .bashrc ou outro arquivo de perfil. Se você precisar alterá-lo, ele deve apontar para/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Mais informações sobre o SCL de CentOS e do Red Hat

Jesse
fonte
Isso não funcionou para mim. Após esses 3 passos concluída aparentemente bem sucedida, ainda vejo gcc 4.7.2 quando eu façogcc -v
BT
Ok, além dessas etapas, tive que alterar meu arquivo .bashrc para que minha variável de ambiente PATH fosse definida como /opt/rh/devtoolset-3/root/usr/bin/:$PATHe não /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Depois de reiniciar uma sessão, funcionou.
BT
Depois de usar esta solução, vejo que a versão do gcc realmente atualizou (usando gcc --version), mas ainda vejo os arquivos de cabeçalho da versão antiga. Além disso, não consigo encontrar a maioria dos cabeçalhos mais recentes no diretório que esperava (/ opt / rh / devtoolset-3 / root / usr / include /). Por que isso pode acontecer e como posso resolvê-lo?
MaMazav
Para tornar esta resposta resistir ao teste do tempo, adicione yum search devtoolset | grep gcc-c++a revelar o número correto em vez de 3 como na resposta
Waslap
14

Eu uso o repositório Scientific Linux Cern 6 para instalar o gcc 4.9 e g ++ 4.9 nos meus sistemas CentOS 6.5 e CentOS 6.6. Não instala o g ++ 4.9.2. Ele instala o g ++ 4.9.1, o que é bom o suficiente para minhas necessidades.

Aqui estão os comandos que eu uso para instalá-lo.

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

Como Michael disse em seu comentário a este post, para realmente usar a versão do gcc instalada, inicie um novo shell com o seguinte comando.

scl enable devtoolset-3 bash
Susam Pal
fonte
1
Para realmente usar a versão do gcc que este instalações, inicie um novo shell usandoscl enable devtoolset-3 bash
Michael
@ Michael Obrigado por mencionar isso. Incluímos seu comentário na minha resposta agora para torná-la mais útil.
Susam Pal
Também não funcionou para mim. O mesmo que para a resposta de Jesse
BT