Quiero usar algunas características de C ++ solo disponibles en versiones más recientes del lenguaje. El problema es Ubuntu 15.04 (Vivid Vervet) tiene 4.9.2 instalado y mirando la salida que obtengo de 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]
Dice que ya es la versión más nueva. No entiendo porque ...
Respuestas:
La única opción que existe es construirlo desde las fuentes , ya que está ejecutando la versión Vivid (15.04) que ha llegado a EOL (End Of Life).
Descargue el código fuente y sus requisitos previos:
Compile las fuentes (nota: este comando diferirá dependiendo de dónde guardó inicialmente el archivo .bz2), también puede modificar la opción para el
build
comando. En este caso usaremos una opción muy básica:NOTA : Asegúrese de haber leído los documentos para ver la opción disponible.
Ahora estamos listos para construir gcc
Ejecute el
make
comando para compilar gcc, estos pasos tardarán mucho tiempo en completarse.Una vez que finaliza la fase anterior, puede instalar gcc integrado con:
Una vez que este proceso se haya completado, ejecute el comando
gcc --version
para verificar que la instalación se haya completado con éxito.fuente
-v
reposar-verbose
. Más información se refiere a lo que realmente es detallado~/gcc-6.3.0
, a~/gcc-build
o hacia alguna otra carpeta? ¿No debería eliminarse ninguna de las carpetas que se crearon después de ejecutar estos comandos o son todas necesarias?tar xzvf gcc-6.3.0.tar.bz2
solo impresionesgzip: stdin: not in gzip format
;tar: Child returned status 1
;tar: Error is not recoverable: exiting now
, así que descomprimí el archivo con el administrador de archivos.../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
, me sale/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
y errores similares.Ubuntu 15.04 ha llegado al final de su vida útil y no tiene soporte, lo que significa que no se publicarán más actualizaciones o correcciones (seguridad, errores o características) .
Debería actualizar o reinstalar con una versión más nueva de Ubuntu.
Recomiendo ir con 16.10 (soporte de 9 meses) que ya tiene gcc 6.x branch en repositorios oficiales.
Pero también puede usar 16.04 LTS (soporte de 5 años) y agregar un ppa no confiable / no garantizado para obtener las últimas versiones de gcc como esta
Personalmente, elegiría ir con 16.10 y seguir actualizando desde canales oficiales a versiones posteriores de software / Ubuntu sin agregar (principalmente) ningún ppa.
fuente