Cadena de herramientas en Debian 7 (AAA) sin duda no es la versión más reciente. GCC es 4.7, binutils es 2,22-8, asegúrese de que está 3,81, etc Vamos a actualizar sólo los componentes más relevantes de la cadena de herramientas GCC dirigidos a la máquina host. Estos son GCC, binutils, marca, gmp, MPFR, mpc, isl, y cloog. Para otros componentes, todavía utilizaremos aquellas en construcción de la cadena de la máquina herramienta. Se instalará el cadena de herramientas mejorada en «x86_64-luke-linux-gnu» ($ HOSTROOT).
1. Versión de software
~ / cadena de herramientas / src $ ls-l
total de 142.696
-rw-r – r – 1 gcc gcc 21440347 10 de enero 13:11 binutils-2.23.2.tar.bz2
-rw-r – r – 1 gcc gcc 3857324 10 de enero 13:09 cloog-0.18. 1.tar.gz
-rw-r – r – 1 gcc gcc 85999682 11 de enero 22:09 gcc-4.8.2.tar.bz2
-rw-r – r – 1 gcc gcc 1819560 10 de enero 13:09 gmp-5.1.2.tar.xz
-rw-r – r – 1 gcc gcc 1160944 10 de enero 13:09 isl-0.12.1.tar.lzma
-rw-r – r – 1 gcc gcc 1341927 11 de enero 22:09 maquillaje 4.0.tar.bz2
-rw-r – r – 1 gcc gcc 624125 12 de enero 03:53 mpc-1.0.1.tar.gz
-rw-r – r – 1 gcc gcc 1074388 10 de enero 13:09 MPFR-3.1.2.tar.xz
Todos los paquetes de software siguientes GNU autotools convenciones tendrá la misma estrofa edificio. Tomemos «gmp» como ejemplo:
a. configurar el software
gcc @ debian: ~ / cadena de herramientas $ cd build / host / gmp
gcc @ debian: ~ / cadena de herramientas / build / host / gmp $ .. / ../../src/gmp-5.1.2/configure – build = $ BUILD – host = $ HOST – prefix = $ BUILDROOT / usr – disable-shared – enable-cxx
Ahora usted debe comprobar «config.log» para asegurarse de que todo está bien />
b. compilar software
gcc @ debian: ~ / cadena de herramientas / build / host / gmp $ make-j4 2> & 1 | tee make.log
Ahora compruebe «make.log» para asegurar una compilación exitosa
c.. comprobar el software compilado
gcc @ debian: ~ / cadena de herramientas / build / host cheque / gmp $ make-j4 2> & 1 |. tee make.check.log
Ahora compruebe «make.check.log» para asegurar que se aprobaron todos los casos de prueba
d. Instale el software en un área de preparación
gcc @ debian: ~ / cadena de herramientas / construir / host / gmp $ make-j4 DESTDIR = $ {} WEB / gmp 2> & 1 | tee make.staging.log
Ahora compruebe «make.staging.log» garantizar que los componentes de software integrados y directorio de instalación están en orden />
e. instalar software
gcc @ debian: ~ / cadena de herramientas / build / host / gmp $ make-j4 instalar 2> & 1 |. tee make.install.log
Ahora compruebe «make.install.log» para garantizar una instalación correcta
En la siguiente descripción, sólo voy a enumerar el «configurar» el mando y omitir la parte de «hacer» de la estrofa, ya que son todos los mismos procedimientos.
2. actualizar binutils y hacer
En el directorio «build», haremos numerosas edificio. Pondré todas las actividades de construcción de la cadena de herramientas de host (AAB/x86_64-luke-linux-gnu) en todas las actividades de construcción de la cadena de herramientas de destino (ABC / arm-luke-linux-gnueabihf «build / host», y ) en «build / target».
Todos los artefactos construidos se instalarán en «$ HOSTROOT». Haremos una construcción de dos pasos para la cadena de herramientas de acogida, por primera vez, utilice la cadena de equipo de generación de herramientas. Después de la cadena de herramientas de ordenador está listo, vamos a utilizar a reconstruirse. Esto parece un (AAB) a (ABB) Ruta (nativo de cruz), pero sí ellos para verificar la exactitud de nuestro compilador mediante la construcción de sí mismo. La cadena herramienta final se convertirá en (BBC) en consecuencia.
A. binutils
$ mkdir-p build / host / {gmp, MPFR, mpc, isl, cloog, binutils, gcc, make}
$ .. / ../../src/binutils-2.23.2/configure – prefix = $ HOSTROOT / usr – build = $ BUILD – host = $ BUILD – target = $ HOST – with-sysroot = / – enable-build-with-CXX – enable-werror – disable-shared – enable-ld = por defecto – enable-oro = no
Desde ( AAB) utilizan el mismo como libc (AAA), por lo que «- with-sysroot» está ajustado en «/», el directorio raíz del sistema existente, en el que reside libs sistema original. Cuando los conductores de gcc llamadas ld, pasará directivas apropiadas «-L» para ld.
B. hacer
../../../src/make-4.0 / configure – prefix = $ HOSTROOT / usr – build = $ BUILD – host = $ BUILD – disable-nls
/ home/gcc/toolchain/x86_64-luke-linux-gnu/usr/bin/make
$ make – versión
GNU Make 3.81
3. actualizar las bibliotecas de apoyo
La secuencia de construcción será gmp -> MPFR -> mpc -> isl -> cloog. Se construirán Sólo bibliotecas estáticas. gcc enlazará con estos lib estática y no se cargará versiones lib acciones, existentes desde la ruta lib del sistema (que es la versión más antigua)
../../../src/gmp-5.1. 2/configure – prefix = $ HOSTROOT / usr – build = $ BUILD – host = $ BUILD – disable-shared
../../../src/mpfr-3.1.2/configure – prefix = $ HOSTROOT / usr – build = $ BUILD – host = $ BUILD – disable-shared – with-gmp = $ HOSTROOT / usr
../../../src/mpc-1.0.1/configure – prefix = $ HOSTROOT / usr – build = $ BUILD – host = $ BUILD – disable-shared – with-gmp = $ HOSTROOT / usr – with-MPFR = $ HOSTROOT / usr
– host = $ BUILD – disable-shared – with- gmp-prefix = $ HOSTROOT / usr