Questão Como instalar o gcc 4.7.x / 4.8.x no CentOS


Qual seria a maneira mais fácil de instalar gcc 4.7.x / 4.8.x em um sistema com o CentOS 6.2+? O pacote RPM padrão contém uma versão mais antiga gcc.


87


origem




Respostas:


Tru Huynh de centos.org construiu o ferramentas de desenvolvimento redhat 1.1, para centos e contém gcc 4.7.2

Então você pode simplesmente usar o repositório dele e instalar apenas o gcc, instantaneamente.

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

Isso irá instalá-lo mais provavelmente em /opt/centos/devtoolset-1.1/root/usr/bin/

Então você pode dizer ao seu processo de compilação para usar o gcc 4.7 ao invés de 4.4 com a variável CC

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++

66



corrida yum --enablerepo=testing-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++ retorna um four-o-four, ..: imagem
não esqueça de yum clean all antes de fazer os passos novamente após a falha mais você ainda vai ter 404
em vez de definir variáveis ​​individuais que você pode fazer scl enable devtoolset-1.1 bash (inicia novo shell com todas as variáveis ​​definidas). - marcin
Para g ++ 4.8.2, altere 1.1 para 2 em todos os lugares e mudar --enablerepo=testing-1.1-devtools-6 para --enablerepo=testing-devtools-2-centos-6 - dwurf
Isso ainda funciona? eu recebo people.centos.org/tru/devtools-2/6Workstation/i386/RPMS/…: [Errno 14] PYCURL ERROR 22 - "O URL solicitado retornou o erro: 404" - Paul Praet


Aqui está como obter o devtoolset-2 (incluindo o gcc 4.8.1)

Isto foi tirado de http://people.centos.org/tru/devtools-2/readme 

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 devtoolset-2-gcc-c++

Problemas conhecidos:

  • pacotes não assinados
  • O CentOS-6 devtoolset-2 precisa do devtoolset-2-ide que contém toda a pilha do Eclipse, mas ainda não constrói
  • CentOS-6 todo o arquivo relacionado maven não são construídos

Principais alterações do devtools-1.1:

  • /opt/centos não é mais usado
  • /opt/rh agora é usado como upstream (como versão do SL)

41



Eu tive que exportar para que funcionasse. Obrigado! exportar CC = / opt / rh / devtoolset-2 / raiz / usr / bin / gcc exportação CXX = / opt / rh / devtoolset-2 / raiz / usr / bin / c + + exportação CPP = / opt / rh / devtoolset-2 / root / usr / bin / cpp - jemiloii
@JemiloII - você fez scl enable devtoolset-2 depois de instalar? Isso deve funcionar para obter os compiladores corretos no caminho. - Mark Lakata
que funciona melhor que as exportações! - jemiloii
@ MarkLakata - Correndo scl enable devtoolset-2 lança o seguinte erro Need at least 3 arguments. Run scl --help to get help. - Swanidhi
@Swanidhi O comando completo é scl enable devtoolset-2 bash onde o último campo pode ser diferente se você não estiver usando o bash. - Mark Lakata


Existe uma nova versão do devtoolset 2.0. Nice pessoas do Cern trabalhando no Linux Scientific criado uma versão aberta:

Se você usa o CentOS (não o Scientific Linux), então você terá que importar sua chave GPG de Aqui usando:

rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-cern

Apreciar!


30



O link para a chave GPG acima está quebrado, encontrei um espelho aqui: ftp.mirrorservice.org/sites/ftp.scientificlinux.org/linux/… - staticfloat
o link acima está quebrado agora, achei chave similar aqui: [ftp.riken.jp] (ftp.riken.jp/Linux/cern/slc58/x86_64/RPM-GPG-KEYs/…) - remo


# 1. Install a package with repository for your system:
# RHEL 6: `yum-config-manager --enable rhel-server-rhscl-6-rpmss`
# RHEL 7: `yum-config-manager --enable rhel-server-rhscl-7-rpms`
$ sudo yum install centos-release-scl # On CentOS 6/7+, install package centos-release-scl available in CentOS repository

# 2. Install the collection:
$ sudo yum install devtoolset-3

# 3. Start using software collections:
$ scl enable devtoolset-3 bash

$ sudo yum list devtoolset-3\*

21



o que hash -r Faz? - codecowboy
ln -s / opt / rh / devtoolset-2 / root / usr / bin / * / usr / local / bin / quebrou sudo no meu sistema Centos 6.7. Eu acho que pode alias sudo. - codecowboy
@codecowboy $PATH toda vez que você digita um comando colocando os resultados na memória cache, hash -r forçar recarregar $ PATH - Denis Denisov
@Denji - aparentemente o site hop5.in não existe mais. - slm
pode precisar adicionar --nogpgcheck opção: sudo yum install --nogpgcheck devtoolset-3 - FooBee


Pelo que vejo do gnu gcc, a versão estável mais recente é a 4.62. A versão 4.7 pode ser baixada e compilada, mais informações sobre o instalação do gcc.


2



Eu perguntei sobre 4.7 porque é suposto ter alguns recursos do C ++ 11 que eu preciso (portando da Clang). - Tomas Andrle
Então, além de compilar a partir da fonte, não há, digamos, um site que tenha alguns rpms que eu possa usar? - Tomas Andrle
Não que eu saiba, mas não sou muito conhecedor do assunto. O repositório RPM inclui tipicamente o RPM apenas em sua forma estável. - bbaja42


Nenhuma dessas respostas funcionou para mim.
mesmo no shell do devtoolset ainda vi meu gcc 4.4.7.
Meu truque foi o seguinte:

mv /usr/bin/gcc /usr/bin/gcc.bckup
ln -s /opt/centos/devtoolset-1.1/root/usr/bin/gcc /usr/bin/gcc

2





existe um problema com o devtool1.1, então eu fiz algumas mudanças - finalmente, isso funcionou para mim: Primeira corrida

yum clean all

do que :

wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -O /etc/yum.repos.d/devtools-1.1.repo

agora abra /etc/yum.repos.d/devtools-1.1.repo e altere a partir de :

http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS

(se você estiver usando x86_64) para:

http://people.centos.org/tru/devtools-1.1/6/x86_64/RPMS/ 

ou ((se você estiver usando x86))

http://people.centos.org/tru/devtools-1.1/6/i386/RPMS/

e finalmente execute:

yum install devtoolset-1.1

1





Uma maneira de conseguir isso seria buscar src RPMs dos repositórios do fedora e recompilá-los para o seu sistema alvo.
Fedora 17 e depois fornecer gcc 4.7


0