Instalando GCC-3.2

Estimación del tiempo de construcción:      9.48 SBU
Estimación del espacio de disco requerido:  326 MB

Instalación de GCC

Este paquete necesita que le apliques un parche antes de poder instalarlo. Asegúrate de desempaquetarlo antes de ejecutar los comandos de instalación.

Se sabe que este programa se comporta mal si cambias sus parámetros de optimización (incluyendo las opciones -march y -mcpu). Es mejor dejar a GCC tal como está. 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. Estás avisado.

Instala GCC ejecutando los siguientes comandos:

patch -Np1 -i ../gcc-3.2.patch &&
patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch &&
mkdir ../gcc-build &&
cd ../gcc-build &&
../gcc-3.2/configure --prefix=/static --enable-languages=c \
   --disable-nls --disable-shared &&
echo "#define HAVE_GAS_HIDDEN 1" >> gcc/auto-host.h &&
make BOOT_LDFLAGS=-static bootstrap &&
make prefix=$LFS/static install &&
ln -s gcc $LFS/static/bin/cc

Explicación de los comandos

patch -Np1 -i ../gcc-3.2.patch: Este parche corrige varios errores. En particular contiene el "copy fix" y el "var fix" documentados en http://www.zipworld.com.au/~gschafer/lfs-tweaks.html.

patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch: Esto evita que se ejecute el guión fixincludes.

--prefix=/static: Esto NO es un error tipográfico. GCC establece directamente algunas rutas durante la compilación y por eso necesitamos pasar /static como prefijo a ./configure. Pasamos el prefijo real de instalación posteriormente a "make install".

--enable-languages=c: Con esto sólo se construye el compilador C. El compilador C++ se construirá en el Capítulo 6, cuando reconstruyamos GCC. También están disponibles otros compiladores. Si se necesitan esos otros compiladores, el parámetro --enable-languages debe omitirse.

echo "#define HAVE_GAS_HIDDEN 1": Esto define la directiva de ensamblador .hidden para que no construyamos más tarde una Glibc con errores.

make BOOT_LDFLAGS=-static: Esto es el equivalente al "make LDFLAGS=-static" que usamos con otros paquetes para compilarlos estáticamente

ln -s gcc $LFS/static/bin/cc: Esto crea el enlace simbólico $LFS/static/bin/cc que necesitan algunos paquetes.

Contenido de GCC

Última versión comprobada: 3.1.

Descripciones

Dependencias de instalación de GCC

Última versión comprobada: 2.95.3.

Bash: sh
Binutils: ar, as, ld, nm, ranlib
Diffutils: cmp
Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, touch
Find: find
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, grep
Make: make
Patch: patch
Sed: sed
Sh-utils: basename, dirname, echo, expr, hostname, sleep, true, uname
Tar: tar
Texinfo: install-info, makeinfo
Textutils: cat, tail, tr