Linux From Scratch: Versión 3.3 | ||
---|---|---|
Anterior | Capítulo 6. Instalando los programas del sistema base | Siguiente |
Estimación del tiempo de construcción: 22 minutos Estimación del espacio de disco requerido: 148 MB |
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á, así que te recomendamos borrar CFLAGS, CXXFLAGS y otras variables/parámetros como éstos que podrían cambiar la optimización con la que viene por defecto.
Instala GCC ejecutando los siguientes comandos. Estos comandos construirán los compiladores C y C++. Otros compiladores están disponibles dentro del paquete gcc. Si quieres compilar también todos los demás compiladores disponibles, elimina la opción --enable-languages=c,c++ del comando ./configure. Mira la documentación de GCC para más detalles sobre qué compiladores adicionales están disponibles.
Advertencia: la construcción de otros compiladores no ha sido comprobada por la gente que trabaja activamente en LFS.
patch -Np1 -i ../gcc-2.95.3-2.patch && mkdir ../gcc-build && cd ../gcc-build && ../gcc-2.95.3/configure --prefix=/usr --enable-shared \ --enable-languages=c,c++ --enable-threads=posix && make bootstrap && make install && cd /lib && ln -sf ../usr/bin/cpp && cd /usr/lib && ln -sf ../bin/cpp && cd /usr/bin && ln -sf gcc cc && rmdir /usr/*-gnu/include && rmdir /usr/*-gnu |
c++, c++filt, cc (enlace a gcc), cc1, cc1plus, collect2, cpp, cpp0, g++, gcc, gcov, protoize y unprotoize
Estos programas forman el compilador de C. Un compilador convierte el código fuente en formato de texto a un formato que un ordenador pueda entender. Después de que un fichero de código fuente es compilado en un fichero objeto, un enlazador creará un fichero ejecutable a partir de uno o más de estos ficheros objeto generados por el compilador.
cpp preprocesa los ficheros fuente, como en la inclusión del contenido de los ficheros de cabecera en los ficheros fuente. Es buena idea no hacer esto manualmente para ahorrar un montón de tiempo. Basta con insertar una línea del tipo #include <fichero>. El preprocesador inserta el contenido de ese fichero en el fichero fuente. Esta es una de las cosas que el preprocesador hace.
libgcc.a, libiberty.a, libstdc++.[a,so]
libgcc.a es un fichero de soporte en tiempo de ejecución para gcc. Con frecuencia, en la mayoría máquinas, libgcc.a no es realmente necesaria.
libiberty es una colección de subrutinas usadas por muchos programas GNU, incluidos getopt, obstack, strerror, strtol y strtoul.
libstdc++ es la librería C++. Es utilizada por programas escritos en C++ y contiene funciones que son usadas frecuentemente por esos programas. De esta forma el programador no necesita escribir ciertas funciones (como la escritura de una cadena de texto en pantalla) desde el principio cada vez que crea un programa.
Para instalar GCC-2.95.3 se necesita lo siguiente:
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