Actualice GCC a la versión 6.3 [cerrado]

10

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 ...

Fabrício Santana
fuente
1
Ubuntu 15.04 ya no es compatible, tal vez debería pasar a una versión más nueva. Las versiones antiguas de Ubuntu generalmente no tienen las últimas versiones de paquetes, debe actualizar la distribución o instalar su paquete desde un ppa o construirlo desde la fuente.
Raziman TV

Respuestas:

10

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).

  1. Descargue el código fuente y sus requisitos previos:

    wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
    tar jxvf gcc-6.3.0.tar.bz2
    cd gcc-6.3.0
    ./contrib/download_prerequisites
    
  2. 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 buildcomando. En este caso usaremos una opción muy básica:

    cd ~
    mkdir gcc-build && cd gcc-build
    ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
    

    NOTA : Asegúrese de haber leído los documentos para ver la opción disponible.

  3. Ahora estamos listos para construir gcc

    • Ejecute el makecomando para compilar gcc, estos pasos tardarán mucho tiempo en completarse.

      make
      
    • Una vez que finaliza la fase anterior, puede instalar gcc integrado con:

      sudo make install
      

      Una vez que este proceso se haya completado, ejecute el comando gcc --versionpara verificar que la instalación se haya completado con éxito.

Liso
fuente
¿Qué hace la opción "-v"? Parece que no puedo encontrarlo en gcc.gnu.org/install/configure.html
Fabrício Santana
¿En qué carpeta está instalado g ++ 6.3 al seguir estos pasos? ¿A ~/gcc-6.3.0, a ~/gcc-buildo 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?
Hola
1
tar xzvf gcc-6.3.0.tar.bz2solo impresiones gzip: 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.
Hola
Cuando corro ../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 -lgccy errores similares.
Hola
4

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.

dgonzalez
fuente