Instalación de GCC-3.3.1

Tiempo estimado de construcción:		11.7 SBU
Estimación del espacio necesario en disco:	294 MB

Contenido de GCC

El paquete GCC contiene la colección de compiladores GNU, que incluye los compiladores C y C++.

Programas instalados: c++, cc (enlace a gcc), cc1, cc1plus, collect2, cpp, g++, gcc, gccbug y gcov

Librerías instaladas: libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] y libsupc++.a

Dependencias de instalación de GCC

GCC depende de: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.

Instalación de GCC

Nota: El banco de pruebas para GCC de este capítulo se considera crítico. No te lo saltes bajo ninguna circunstancia.

Se sabe que este programa se comporta mal si cambias sus parámetros de optimización (incluyendo las opciones -march y -mcpu). Por esta razón, si tienes definida cualquier variable de entorno que pueda sobreescribir las optimizaciones por defecto, como CFLAGS o CXXFLAGS, recomendamos quitarlas o modificarlas cuando construyas GCC.

En esta ocasión construiremos los compiladores C y C++, por lo que necesitarás desempaquetar los paquetes GCC-core y GCC-g++, que se desempaquetarán dentro del mísmo directorio. Además debes extraer el paquete GCC-testsuite. El paquete completo GCC contiene otros compiladores más. Las instrucciones para construirlos las puedes encontrar en http://www.escomposlinux.org/lfs-es/blfs-es-5.0/general/gcc.html (el original en inglés está en http://www.linuxfromscratch.org/blfs/view/stable/general/gcc.html).

patch -Np1 -i ../gcc-3.3.1-no_fixincludes-2.patch
patch -Np1 -i ../gcc-3.3.1-suppress-libiberty.patch

El segundo parche suprime la instalación de libiberty de GCC, pues utilizaremos en su lugar la suministrada por Binutils. Ten cuidado de no aplicar aquí el parche Specs para GCC del Capítulo 5.

La documentación de GCC recomienda construirlo fuera del directorio de las fuentes, en un directorio de contrucción dedicado:

mkdir ../gcc-build
cd ../gcc-build

Ahora prepara GCC para su compilación:

../gcc-3.3.1/configure --prefix=/usr \
    --enable-shared --enable-threads=posix \
    --enable-__cxa_atexit --enable-clocale=gnu \
    --enable-languages=c,c++

Compila el paquete:

make

Comprueba los resultados, pero no pares en los errores (recordarás que hay varios conocidos):

make -k check

Las notas para el banco de pruebas que hay en la sección Instalación de GCC-3.3.1 - Fase 2 del Capítulo 5 son aún más apropiadas aquí. Asegurate de consultarlas si tienes alguna duda.

E instala el paquete:

make install

Algunos paquetes esperan que el preprocesador de C esté instalado en el directorio /lib. Para satisfacer a estos paquetes, crea un enlace simbólico:

ln -s ../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 -s gcc /usr/bin/cc

Nota: En este punto es muy recomendable repetir la comprobación que realizamos anteriormente en este capítulo. Vuelve a la sección 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.