¿Instalar GCC 7 en Ubuntu?

11

Estoy tratando de ejecutar una prueba con GCC 7. ¿Cómo instalar gcc-7 o clang 4.0? en Ubuntu.SE, podemos realizar lo siguiente para instalar GCC 7 en Ubuntu:

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

El comando falla en la instalación:

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

Y probando 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 acuerdo con Listar todos los paquetes de un repositorio en ubuntu / debian en Server Fault, podemos buscar en un repositorio particular un paquete con:

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

Pero no estoy seguro de si el comando anterior está buscando ppa:ubuntu-toolchain-r.

Uní las cosas, pero no funcionan como se esperaba. O la respuesta Ubuntu.SE es incorrecta, la búsqueda de fallas del servidor está fallando o estoy haciendo algo mal.

(No tengo una máquina Debain 8 disponible para el paquete gcc-7 , y Fedora 25 parece carecer de GCC 7. Así que estoy bastante atascado con Ubuntu).

¿Qué estoy haciendo mal? O, ¿cómo puedo instalar GCC 7?


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

fuente
3
El ubuntu-toolchain-r/testPPA no parece proporcionar gcc-7 para Ubuntu 16.10 (Yakkety), aunque lo hace tanto para 16.04 (Xenial) como para 17.04 (Zesty), como puede ver visitando el equipo "PPA para Ubuntu Toolchain Uploads (restringido)" y filtrado por serie
steeldriver
Gracias Steeldriver. La ampliación del símbolo de intercalación con la etiqueta "Detalles técnicos sobre este PPA" parece mostrar que está disponible para 16.10. Raro ... Creo que pondré este informe de error en espera hasta que podamos encontrar una distribución que proporcione GCC 7.
El PPA está disponible para 16.10, pero no proporciona todas las los mismos paquetes - posiblemente debido a 16.10 no es una versión LTS
steeldriver
Para aquellos que no pueden hacer que esto funcione (como yo), vea también ¿Cómo puedo deshacer la adición de un PPA e instalar paquetes desde él? en Ubuntu Stack Exchange.

Respuestas:

7

Para instalar gcc-7en ubuntu debes usar este ppa :

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

Entonces corre: apt-cache search gcc-7

salida de muestra:

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
GAD3R
fuente
66
Gracias GAD3R ¿Sabes quién es jonathonf? Estoy tratando de usar el equipo de Ubuntu porque ya es de confianza. De lo contrario, tengo que saltar a través de los aros de averiguar quién es jonathonf y determinar si es una fuente confiable.
¿Debería funcionar también para linaro?
Nadav B
2

Ubuntu 18.04 tiene GCC 7 (7.3.0-16ubuntu3, en este momento estoy escribiendo esta respuesta) y GCC 8 (8-20180414-1ubuntu2). Ya no es necesario agregar repositorios de terceros: simplemente ejecute sudo apt-get install gcc-7.

kiamlaluno
fuente
1

Si necesita configurar una plataforma de prueba con el compilador, Fedora 26 se entrega con GCC 7.1.

También puede encontrar GCC 7 en Debian 10 / Buster (Debian 9 con el repositorio de pruebas habilitado). Para Debian, debes hacerlo apt-get install gcc-7 g++-7.

Para completar, no está claro qué versión de los compiladores de Microsoft admite C ++ 17 y std::byte(la razón por la que necesitaba el compilador para la prueba).

Y gracias a GAD3R por su ayuda. La razón por la que lo evité fue que no pude establecer la procedencia de algunos de los PPA.


fuente