Eu quero usar alguns recursos do C ++ disponíveis apenas nas versões mais recentes da linguagem. O problema é que o Ubuntu 15.04 (Vivid Vervet) possui 4.9.2 instalado e olhando para a saída que recebo do apt-get install gcc :
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Diz que já é a versão mais recente. Não entendo o porquê ...
Respostas:
A única opção existente é compilá-lo a partir de fontes , já que você está executando a versão Vivid (15.04) que atingiu a EOL (End Of Life).
Faça o download do código fonte e seus pré-requisitos:
Compile as fontes (nota: este comando será diferente dependendo de onde você salvou o arquivo .bz2), você também pode modificar a opção de
build
comando. Nesse caso, usaremos a opção muito básica:NOTA : Verifique se você leu os documentos para visualizar a opção disponível.
Agora estamos prontos para construir o gcc
Execute o
make
comando para criar o gcc; essas etapas levarão muito tempo para serem concluídas.Quando a fase acima estiver concluída, você poderá instalar o gcc construído com:
Após a conclusão desse processo, execute o comando
gcc --version
para verificar se a instalação foi concluída com êxito.fonte
-v
representar-verbose
. Mais informações referem-se ao que detalhado realmente é~/gcc-6.3.0
, para~/gcc-build
ou para alguma outra pasta? Nenhuma das pastas criadas deve ser removida após a execução desses comandos ou todas elas ainda são necessárias?tar xzvf gcc-6.3.0.tar.bz2
apenas imprimegzip: stdin: not in gzip format
;tar: Child returned status 1
;tar: Error is not recoverable: exiting now
, descompactei o arquivo morto com o gerenciador de arquivos.../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
, eu recebo/usr/bin/ld: cannot find crt1.o: No such file or directory
,/usr/bin/ld: cannot find crti.o: No such file or directory
,/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc
,/usr/bin/ld: cannot find -lgcc
e erros semelhantes.O Ubuntu 15.04 chegou ao fim da vida útil e não tem suporte, o que significa que não serão publicadas mais atualizações ou correções (segurança, bugs ou recursos) .
Você deve atualizar ou reinstalar com uma versão mais recente do Ubuntu.
Eu recomendo a opção 16.10 (9 meses de suporte), que já possui uma filial do gcc 6.x em repositórios oficiais.
Mas você também pode usar o 16.04 LTS (suporte de 5 anos) e adicionar um ppa não confiável / não garantido para obter as últimas versões do gcc como esta
Pessoalmente, eu escolheria a 16.10 e continuaria atualizando dos canais oficiais para as versões posteriores do software / Ubuntu sem adicionar (principalmente) nenhum ppa.
fonte