GCC 11.1 finalmente se lanzó ayer. Sin embargo, ahora solo se puede compilar desde la fuente, por lo que me pregunto cuándo podremos obtenerlo con apt .
Las instrucciones de Casachii funcionaron para mí, con un gotcha. Si se encuentra con algún problema al compilar GCC usted mismo usando las instrucciones de casachii, como errores de compilación que informan que faltan GMP, MPFR, MPC, etc., simplemente haga lo siguiente:
Desde el directorio GCC (el padre del directorio "compilar" que acaba de crear), ejecute:
./contrib/download_prerequisitesLuego, cuando termine, ejecuta esto:
./configureFinalmente, regrese a su directorio de compilación como lo indica casachii y compile GCC 11.x
cd build ../configure --enable-multilib && make && sudo make installEsto llevará bastante tiempo. Por cierto, habría agregado esto en un comentario a la respuesta muy útil de casachii, sin embargo, acabo de crear esta cuenta y aparentemente no tengo los créditos para hacer un comentario.
En Ubuntu 20.04, seguí las instrucciones aquí:
que es para:
Actualice los espejos enumerados agregando una línea a su /etc/apt/sources.list como esta:
sudo add-apt-repository 'deb http://mirrors.kernel.org/ubuntu hirsute main universe'
Elija un espejo basado en su ubicación de la lista. Elegí el espejo del kernel porque estoy en América del Norte.
sudo apt-get update
sudo apt-get install gcc-11
Después de eso which gcc-11 debería producir un camino a gcc-11. En mi máquina fue:
which gcc-11produce: /usr/bin/gcc-11
sudo apt install build-essential manpages-dev software-properties-common sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update && sudo apt install gcc-11 g++-11 Luego use update-alternatives para establecer el gcc predeterminado...
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-9 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-9 --slave /usr/bin/cpp cpp /usr/bin/cpp-9 && \ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-11 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-11 --slave /usr/bin/cpp cpp /usr/bin/cpp-11;Para probar la configuración de verificación para ver qué gcc es el predeterminado, puede ejecutar lo siguiente, si muestran los resultados correctos, entonces el resto está bien ...
gcc --version;g++ --version;gcov --version;Para reconfigurar a cualquier versión anterior de gcc...
sudo update-alternatives --config gccPuedes hacer esto en cualquier versión de ubuntu,... ¡disfrútalo!
Aquí están mis 6 gcc diferentes que viven uno al lado del otro con el gcc-11 por defecto:
$ sudo update-alternatives --config gcc There are 6 choices for the alternative gcc (providing /usr/bin/gcc). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/gcc-11 1010 auto mode 1 /usr/bin/gcc-10 1000 manual mode 2 /usr/bin/gcc-11 1010 manual mode 3 /usr/bin/gcc-5 40 manual mode 4 /usr/bin/gcc-7 700 manual mode 5 /usr/bin/gcc-8 800 manual mode 6 /usr/bin/gcc-9 900 manual mode Press <enter> to keep the current choice[*], or type selection number:Actualmente no tenemos información de cuándo veremos una versión APT de GCC 11.1. A continuación, muestro las instrucciones de compilación paso a paso que, con suerte, puede seguir:
Puede visitar https://gcc.gnu.org/mirrors.html , elegir el espejo más cercano a usted, descargar la fuente de gcc-11.1.0.tar.gz
Luego, asegúrese de tener instalado su sistema de compilación:
sudo apt install gcc g++ make bison binutils gcc-multilibSí, necesitas gcc para construir gcc.
Luego, descomprima el tarball:
cd Downloads # replace with your download location tar -xzvf gcc-11.1.0.tar.gz cd gcc-11.1.0Lo último es construirlo realmente:
mkdir build cd build ../configure --enable-multilib && make && sudo make install¡Eso es todo! Ahora tiene GCC 11.1 instalado en Ubuntu.