Tentei muitas soluções para instalar a atualização do 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 ABI libcxx11 estável e suporte estável para C++ 11 (consulteaqui). Obtendo especificamente a versão `GLIBCXX_3.4.21' que não está incluída em meu compilador atual gcc versão 4.9.2 (Debian 4.9.2-10).
Algumas dicas para solução serão úteis. Desde já, obrigado.
Alguns links para fóruns relacionados ao meu problema que 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)
Responder1
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 os pacotes disponíveis lá (vejahttps://wiki.debian.org/AptPreferences).
Para instalar o GCC 5+ a partir de testes no debian jessie usando apt-pinning:
Adicione o repositório de testes debian às suas fontes do apt criando um arquivo no diretório
/etc/apt/sources.list.d
que 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:Package: * Pin: release a=testing Pin-Priority: 100
Atualizar banco de dados apt:
sudo apt-get update
Instale o gcc do teste:
sudo apt-get install -t testing gcc
Observe que
-t testing
você diz ao apt-get para instalar o gcc a partir de fontes de teste conforme configurado anteriormente.
Eu sugiro fortemente limpar qualquer compilação e recompilar qualquer dependência antes de compilar seus fontes novamente.
Divirta-se!
Responder2
A partir de 19/02/2017, o gcc-5 foiremovidodo teste:
https://tracker.debian.org/pkg/gcc-5
Você pode, apt-get install gcc-5
se primeiro executar esta linha como root:
echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list
Então, você provavelmente desejará alterar a prioridade dessa fonte de /etc/apt/preferences.d
acordo com a resposta de llekn.
Responder3
Para combinar as 2 respostas anteriores em uma que funcione:
echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
apt-get update
apt-get install -t unstable gcc-5
MAS!!! Use isso por sua própria conta e risco, pois você está instalando pacotes da instável. Você também pode querer remover /etc/apt/sources.list.d/unstable.list
depois de instalar os pacotes.
Se possível, instale no Docker para não bagunçar seu sistema operacional. Sua milhagem pode variar.
Responder4
Consegui instalar gcc-5
a partir dos repositórios do Ubuntu no Debian 10.13 "buster". É uma prática muito ruim, mas não tive outra escolha.
Aqui estão os comandos (compatível com CI)
apt-get remove -y gcc
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list.d/buster.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list.d/buster.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
apt-get update
apt-get install -y gcc-5 g++-5
ln -s /usr/bin/gcc-5 /usr/bin/gcc
ln -s /usr/bin/g++-5 /usr/bin/g++