Instalar o GCC 7 no Ubuntu?


11

Estou tentando executar um teste no GCC 7. De acordo com Como instalar o gcc-7 ou clang 4.0? no Ubuntu.SE, podemos executar o seguinte para instalar o GCC 7 no Ubuntu:

add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7

O comando falha na instalação:

# apt-get install -y gcc-7
...
E: Unable to locate package gcc-7

E tentando 7.1:

# apt-get install -y gcc-7.1
...
E: Unable to locate package gcc-7.1
E: Couldn't find any package by glob 'gcc-7.1'
E: Couldn't find any package by regex 'gcc-7.1'

De acordo com Listar todos os pacotes de um repositório no ubuntu / debian no Server Fault, podemos procurar em um repositório específico por um pacote com:

# grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages | grep gcc-7
#

Mas não tenho certeza se o comando acima está pesquisando ppa:ubuntu-toolchain-r.

Eu meio que juntei as coisas, mas elas não estão funcionando como o esperado. A resposta do Ubuntu.SE está errada, a pesquisa de falhas do servidor está falhando ou estou fazendo algo errado.

(Eu não tenho uma máquina Debain 8 disponível para o pacote gcc-7 , e o Fedora 25 parece não ter o GCC 7. Então, eu estou praticamente preso no Ubuntu).

O que estou fazendo de errado? Ou como posso instalar o GCC 7?


# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety
ubuntu  apt  gcc  ppa 

3
O ubuntu-toolchain-r/testPPA não parece fornecer o gcc-7 para o Ubuntu 16.10 (Yakkety) - embora seja para o 16.04 (Xenial) e o 17.04 (Zesty) - como você pode ver, visitando a equipe "PPA para Ubuntu Toolchain Uploads (restrito)" e filtragem por série
steeldriver

Obrigado Steeldriver. A expansão do sinal de intercalação rotulado "Detalhes técnicos sobre este PPA" parece mostrar que está disponível para 16.10. Estranho ... Eu acho que vou colocar este relatório de erro em espera até que possamos encontrar uma distro que fornece GCC 7.

O PPA está disponível para 16.10, mas não oferecem a todos os mesmos pacotes - possivelmente porque 16.10 não é uma versão LTS
steeldriver

Para aqueles que não conseguem fazer isso funcionar (como eu), consulte também Como desfazer a adição de um PPA e a instalação de pacotes a partir dele? no Ubuntu Stack Exchange.

Respostas:


7

Para instalar gcc-7no ubuntu, você deve usar este ppa :

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update

Então corra: apt-cache search gcc-7

saída de amostra:

gcc-7-base - GCC, the GNU Compiler Collection (base package)
gcc-7 - GNU C compiler
gcc-7-multilib - GNU C compiler (multilib support)
gcc-7-plugin-dev - Files for GNU GCC plugin development.
gcc-7-test-results - Test results for the GCC test suite
lib32gcc-7-dev - GCC support library (32 bit development files)
libgcc-7-dev - GCC support library (development files)
gcc-7-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
gcc-7-hppa64-linux-gnu - GNU C compiler (cross compiler for hppa64)
gcc-7-locales - GCC, the GNU compiler collection (native language support files)
gcc-7-source - Source of the GNU Compiler Collection
libx32gcc-7-dev - GCC support library (x32 development files)
gcc-7-offload-nvptx - GCC offloading compiler to NVPTX
lib64gcc-7-dev - GCC support library (64bit development files)

Instalar gcc-7:

sudo apt install gcc-7

6
Obrigado GAD3R. Você sabe quem é Jonathonf? Estou tentando usar o equipamento do Ubuntu porque ele já é confiável. Caso contrário, eu tenho que pular os bastidores para descobrir quem é Jonathonf e determinar se ele é uma fonte confiável.

Também deveria funcionar para linaro?
NadaV B

2

O Ubuntu 18.04 possui o GCC 7 (7.3.0-16ubuntu3, no momento em que estou escrevendo esta resposta) e o GCC 8 (8-20180414-1ubuntu2). Não há mais a necessidade de adicionar repositórios de terceiros: basta executar sudo apt-get install gcc-7.


1

Se você precisar configurar uma plataforma de teste com o compilador, o Fedora 26 será enviado com o GCC 7.1.

Você também pode encontrar o GCC 7 no Debian 10 / Buster (Debian 9 com o repositório de testes ativado). Para o Debian, você deve apt-get install gcc-7 g++-7.

Para completar, não está claro qual versão dos compiladores da Microsoft suporta C ++ 17 e std::byte(o motivo pelo qual eu precisava do compilador para teste).

E obrigado a GAD3R por sua ajuda. A razão pela qual eu o evitei foi que eu não conseguia estabelecer a proveniência de alguns dos CAE.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.