El paquete GCC contiene la colección de compiladores GNU, que incluye los compiladores C y C++.
Se sabe que este programa se comporta mal si se cambian sus parámetros de optimización (incluyendo las opciones -march y -mcpu). Si tienes definida cualquier variable de entorno que altere las optimizaciones por defecto, como CFLAGS o CXXFLAGS, desactívala cuando construyas GCC.
Aplica sólo el parche No-Fixincludes (pero no el parche Specs), que también se usó en el capítulo anterior:
patch -Np1 -i ../gcc-3.4.3-no_fixincludes-1.patch
GCC falla al compilar algunos paquetes ajenos a la instalación base de Linux From Scratch (como Mozilla y kdegraphics) cuando se usa en conjunción con la más nueva versión de Binutils. Aplica el siguiente parche para corregir dicho problema:
patch -Np1 -i ../gcc-3.4.3-linkonce-1.patch
Aplica una sustitución sed que suprimirá la instalación de libiberty.a. Se usará en su lugar la versión de libiberty.a suministrada por Binutils:
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
La documentación de GCC recomienda construirlo fuera del árbol de las fuentes, en un directorio de construcción dedicado:
mkdir -v ../gcc-build cd ../gcc-build
Prepara GCC para su compilación:
../gcc-3.4.3/configure --prefix=/usr \ --libexecdir=/usr/lib --enable-shared \ --enable-threads=posix --enable-__cxa_atexit \ --enable-clocale=gnu --enable-languages=c,c++
Compila el paquete:
make
En esta sección, el banco de pruebas para GCC se considera crítico. No te lo saltes bajo ninguna circunstancia.
Comprueba los resultados, pero no pares en los errores:
make -k check
Algunos errores son conocidos y se mencionaron en el capítulo anterior. Las notas para el banco de pruebas que hay en la Sección 5.11, “GCC-3.4.3 - Fase 2” son aún más apropiadas aquí. Asegúrate de consultarlas si es necesario.
Instala el paquete:
make install
Algunos paquetes esperan que el preprocesador de C esté instalado en el directorio /lib. Para dar soporte a estos paquetes, crea un enlace simbólico:
ln -sv ../usr/bin/cpp /lib
Muchos paquetes usan el nombre cc para llamar al compilador de C. Para satisfacer a estos paquetes, crea un enlace simbólico:
ln -sv gcc /usr/bin/cc
En este punto es muy recomendable repetir la comprobación que realizamos anteriormente en este capítulo. Vuelve a la Sección 6.12, “Reajustar las herramientas” y repite las comprobaciones. Si los resultados son malos, entonces es muy posible que erróneamente hayas aplicado el parche Specs para GCC del Capítulo 5.