Eu tenho um servidor RHEL 6 com a versão 4.4.7 do gcc. Eu queria atualizar a versão do gcc (acho que a atual é 4.8). A atualização do Yum não funciona. Além disso, o SO responde a uma pergunta semelhante no CentOS não funciona. Segui os métodos na resposta aceita, a saída é "Erro ao obter dados do repositório para testing-1.1-devtools-6, repositório não encontrado". Também não tenho certeza se devo seguir os métodos do CentOs.
Alguém atualizou o gcc no servidor RHEL 6 x86_64?
Respostas:
O método mais fácil, de longe, é fazer uso de uma compilação binária fornecida por meio de um repositório YUM.
Uma dessas opções seria usar o repositório hop5.in. Especificamente nesta página: gcc - Vários compiladores (C, C ++, Objective-C, Java, ...) . Eles estão fornecendo o 4.8.2, que deve funcionar com o CentOS 6.3 ou 6.4. Você pode querer fazer uma atualização antes:A outra opção seria usar o Developer Toolset , especificamente a versão em pacote fornecida pela Scientific Linux.
Seguindo as instruções de instalação, você basicamente realizará as 2 etapas a seguir:
adicionar repositórios instalar devtoolsetAtualização # 1
O repositório hop5.in YUM parece ter sido removido, portanto, o único recurso é usar o método devtoolset destacado acima.
Exemplos adicionais para instalação via devtoolset são destacados neste GitHub Gist: Instalando gcc 4.8 e Linuxbrew no CentOS 6 .
fonte
http://ftp.scientificlinux.org/linux/scientific/5x/x86_64/RPM-GPG-KEYs/RPM-GPG-KEY-cern
. Eu amo que o site não tem https. Muito bem o scilinux. Depois de baixá-lo (diretório tmp ou qualquer outro local), importe-orpm --import RPM-GPG-KEY-cern
e, em seguida, faça #yum install.
devtoolset-2-gcc
(pelo menos para mim) instalou uma dúzia de pacotes e um download de 35 MB, contra 280 pacotes e 575 MB de downloadyum install devtoolset-2
.As coleções de software da Red Hat vêm com o GCC 4.9, você pode ativar esse canal.
fonte
Eu criei versões mais recentes do gcc para rhel6 para várias versões agora (desde 4.7.x a 5.3.1).
O processo é bastante fácil graças às versões do Redhat Jakub Jelinek fedora gcc encontradas no koji
Basta pegar o src rpm mais recente para a versão que você precisar (por exemplo, 5.3.1 ).
Basicamente, você começaria determinando os requisitos de construção emitindo a
rpm -qpR src.rpm
procura de quaisquer requisitos de versão:Agora vem a parte tediosa - qualquer pacote com uma versão superior à fornecida pelo yum para a sua distro precisa ser baixado do koji e repita recursivamente o processo até que todos os requisitos de dependência sejam atendidos.
Eu trapaceio.
Eu costumo reembalar o rpm para conter uma árvore de construção correta, usando o recurso gnu para usar os requisitos corretamente colocados e nomeados, para que gmp / mpc / mpfr / isl (o cloog não seja mais necessário) sejam baixados e desagradáveis no caminho correto, e o novo O tar (inchado) é reconstruído em um novo src rpm (com pequenas alterações no arquivo spec) sem dependência de suas versões compactadas (rpm). Como não conheço ninguém usando o ADA, simplesmente removo as partes referentes ao gnat do arquivo de especificações, simplificando ainda mais o processo de compilação, deixando-me apenas com binutils com os quais me preocupar.
O Gcc pode realmente construir com binutils mais antigos; portanto, se você estiver com pressa, edite ainda mais o arquivo de especificações para exigir a versão do binutils já presente no seu sistema. Isso resultará em um gcc um pouco aleijado, mas, na maioria das vezes, terá um desempenho suficiente.
Isso funciona muito bem principalmente.
ATUALIZAÇÃO 1
O método mais simples para abrir um src rpm é provavelmente yum instalar o rpm e acessar tudo em ~ / rpmbuild, mas eu prefiro
Você também tem a opção de definir o prefixo para que este rpm seja instalado lado a lado sem interromper o distro rpm (mas requer mudança de nome e algumas modificações nos nomes dos pacotes internos). Normalmente, adiciono um módulo de ambiente para poder carregar e descarregar esse gcc conforme necessário (semelhante ao modo como as coleções funcionam) como parte do rpm (para adicionar uma nova dependência).
Por fim, crie a árvore rpmbuild e coloque os arquivos para onde o hey deve ir e construir:
ATUALIZAÇÃO 2
Normalmente não se deve usar um sistema operacional "server" para desenvolvimento - é por isso que você tem o fedora que já vem com o gcc mais recente. Eu tenho alguns requisitos específicos, mas você deve realmente considerar o uso da ferramenta certa para a tarefa - rhel / centos para executar aplicativos de produção, fedora para desenvolvê-los etc.
fonte
Ei pessoal, aqui está o que eu fiz (compilando do zero). Sem ofensa a outra resposta, tenho certeza de que funciona, mas o GCC é especialmente importante para segurança, por isso prefiro compilar a partir da fonte original e oficial:
Fonte: http://realtechtalk.com/GCC_5_on_Centos_6_How_To_Install-1965-articles
fonte
você pode tentar o buid de origem do gcc.GCC requer MPC, MPFR e GMP como pré-requisitos.Para o GCC 4.8, as dependências de versão são MPC 0.8 GMP 6.0 MPFR 2.4.2. A ordem de instalação é gmp, mpfr, mpc
fonte