Eu tentei muitas soluções para instalar a atualização para o meu compilador gcc no servidor debian. Nenhum deles funcionou. Preciso da atualização do compilador para usar os novos recursos do c ++ 11, pois isso fornece uma libcxx11 ABI estável e suporte estável ao C ++ 11 (consulte aqui ). Obtendo especificamente a versão `GLIBCXX_3.4.21 'que não está incluída no meu compilador atual, versão gcc 4.9.2 (Debian 4.9.2-10).
Alguns indicadores para a solução serão úteis. Desde já, obrigado.
Alguns links para o fórum relacionados ao meu problema que eu já tentei:
1 2 3 (a solução não totalmente relacionada é para o ubuntu, mas ainda não consegui encontrar o gcc-5 no servidor ftp do debian)
testing
, mas provavelmente não é uma boa idéia em um servidor (dependendo do que você quer dizer com servidor, é claro). A mudança do gcc 4.9 para o gcc 5 envolveu uma transição de biblioteca; portanto, você terá um mundo de dor se tentar fazer isso sozinho!testing
(usadas por conta própria): os pacotes às vezes são removidos temporariamente (portanto, a instalação que você acabou de validar na sua VM de teste pode não estar mais disponível facilmente) , e as correções de segurança podem ser atrasadas (às vezes por muito tempo, setesting
estiver passando por uma grande transição de biblioteca, embora existatesting-security
nesses casos).Respostas:
Eu precisava do GCC 5+ instalado no debian jessie e, como está disponível para testes do debian (pelo menos em 16 de junho), você pode usar o apt-pinning para instalar pacotes disponíveis lá (consulte https://wiki.debian.org/AptPreferences ) .
Para instalar o GCC 5+ dos testes no debian jessie usando o apt-pinning:
Adicione o repositório debian testing às suas fontes apt, criando um arquivo no diretório que
/etc/apt/sources.list.d
contém a linhadeb http://ftp.us.debian.org/debian testing main contrib non-free
Instrua o debian a usar fontes de teste em certos pacotes, criando um arquivo
/etc/apt/preferences.d
contendo o seguinte:Atualize o banco de dados apt:
sudo apt-get update
Instale o gcc a partir do teste:
sudo apt-get install -t testing gcc
Note que usar
-t testing
o comando apt-get para instalar o gcc a partir de fontes de teste como configurado anteriormente.Eu sugiro fortemente limpar qualquer compilação e recompilar qualquer dependência antes de compilar suas fontes novamente.
Diverta-se!
fonte
pip
) , mas acho que esse procedimento é o menos invasivo, poisapt
acompanharia quais pacotes dependem do GCC e instalará versões compatíveis conforme necessário (tanto quanto me lembro).Pin-Priority
um pacote obtiver, maior será a preferência sobre outros pacotes com um número menor. Assim, como nos estados da página AptPrefences do Debian ,testing
por padrão, faz comPin-Priority: 900
que todos os pacotestesting
sejam instalados por padrão. Então, especificando quetesting
terá umPin-Priority: 100
abaixatesting
pacotes prioridade tornando-os apenas instalável se solicitado ao especificar o alvo aapt-get install -t testing ...
Package: gcc
atualizações de todo o sistema para testes. A documentação sobreapt-prefences
é confusa, portanto, suponho que seja o que está acontecendo: 1: Como os pacotes do teste têm versões maiores, por padrão eles têm precedência sobre os padrões 2: Especificando o pacote:gcc
comPin-priority: 100
faz com que todos os pacotes do teste tenham prioridade padrão (maior que padrão), excetogcc
. Exatamente o oposto que queríamos. Eu atualizei a resposta para evitar este erroPara combinar as 2 respostas anteriores em uma que funcione:
MAS!!! Use isso por seu próprio risco, pois você está instalando pacotes da instável. Você também pode remover
/etc/apt/sources.list.d/unstable.list
depois de instalar os pacotes.Se possível, instale no Docker para não atrapalhar seu sistema operacional. Sua milhagem pode variar.
fonte
Desde 19/02/2017, o gcc-5 foi removido dos testes:
https://tracker.debian.org/pkg/gcc-5
Você pode,
apt-get install gcc-5
se você primeiro executar esta linha como root:Então, você provavelmente desejará alterar a prioridade dessa fonte de
/etc/apt/preferences.d
acordo com a resposta de llekn.fonte
Eu estava tendo problemas na semana passada; parece que a partir de 2019-01-23 o gcc-5 foi removido completamente dos repositórios. (Veja https://tracker.debian.org/pkg/gcc-5 )
Se você realmente precisar, suponho que você possa compilá-lo da fonte. Vou encontrar uma maneira de eliminar a dependência do meu sistema.
fonte