2012-03-28 11 views
9

Estoy usando crosstool-ng para construir un tolchain para beagleboard-xm. La acumulación se produzca de forma representan a continuación:¿Es posible acelerar las compilaciones crosstool-ng una vez que se han producido errores?

[INFO ] ================================================================= [INFO ] Retrieving needed toolchain components' tarballs [INFO ] Retrieving needed toolchain components' tarballs: done in 0.51s (at 00:08) [INFO ] ================================================================= [INFO ] Extracting and patching toolchain components [INFO ] Extracting and patching toolchain components: done in 7.91s (at 00:16) [INFO ] ================================================================= [INFO ] Installing GMP [INFO ] Installing GMP: done in 140.48s (at 02:36) [INFO ] ================================================================= [INFO ] Installing MPFR [INFO ] Installing MPFR: done in 36.01s (at 03:13) [INFO ] ================================================================= [INFO ] Installing PPL . .

`

Ahora, después de 50 minutos de la compilación, se rompe con un error:

[ERROR] configure: error: expat is missing or unusable"

he instalado el paquete necesario (en Ubuntu 10.04) pero el error no es un problema Antes pude acceder a los pasos donde había instalado correctamente el compilador y no hubo errores hasta entonces. Me preguntaba si hay alguna manera de evitar que la herramienta supere pasos exitosos anteriormente, ahorrando tiempo. ¿Es posible con la forma en que funciona crosstool-ng?

+0

* Por favor, disculpe formato. Gracias. – user461150

+0

Lo encontré. "ct-ng --help" no proporciona la información correcta. Use "ct-ng help". Busque la opción RESTART build. – user461150

+4

Para futuros usuarios de Google, corrija este error con 'sudo apt-get install libexpat1-dev'. (Simplemente instalar expatriado no lo arregla). – markgz

Respuesta

14

Sí, es posible. El servicio CT-ng como esto

CT_DEBUG_CT_SAVE_STEPS=1 ct-ng build

Después de chocar en un determinado paso, acaba de encontrar el paso de la lista producida por

ct-ng list-steps

momento en el que se puede reanudar la acumulación mediante la ejecución de

RESTART=libc_start_files ct-ng build

8

sí, crosstool-ng actual admite esta función.

  1. activar esta función en menuconfig

para ct-ng menuconfig, config Paths and misc options como esto

───────────────────── Paths and misc options ───────────────────── 
[*] Debug crosstool-NG 
[ ] Pause between every steps 
[*] Save intermediate steps 
[*]  gzip saved states 
[*] Interactive shell on failed commands 

2.when no construir, para cada paso realizado con éxito, se verá algo como esto:

Saving state to restart at step 'xxx'...

3. Cuando fallan, después de fijarlo, a continuación, utilizar ct-ng LAST_SUCCESSFUL_STETP_NAME+ continuar construir

mi ejemplo:

[email protected] ~/develop/crosstool-ng/crosstool-ng-1.18.0_build 
$ ct-ng list-steps 
Available build steps, in order: 
    - libc_check_config 
    - companion_libs_for_build 
    - binutils_for_build 
    - companion_libs_for_host 
    - binutils_for_host 
    - cc_core_pass_1 
    - kernel_headers 
    - libc_start_files 
    - cc_core_pass_2 
    - libc 
    - cc_for_build 
    - cc_for_host 
    - libelf_for_target 
    - binutils_for_target 
    - debug 
    - test_suite 
    - finish 
Use "<step>"p>" as action to execute only that step"+<step>"lt;step>" as action to execute up to tha"<step>+"se "<step>+" as action to execute from that step onward. 

[email protected] ~/develop/crosstool-ng/crosstool-ng-1.18.0_build 
$ ct-ng libc+ 
[INFO ] Performing some trivial sanity checks 
[INFO ] Build started 20130801.120248 
[INFO ] Building environ'libc'ariables 
[EXTRA] Preparing working directories 
[EXTRA] Restoring state at step 'libc', as requested. 
[INFO ] ================================================================= 
[INFO ] Installing C library 
[EXTRA] Configuring C library 
[EXTRA] Building C library 
[01:55]/

para más explicación, consulte mi post: crosstool-ng build for xscale

Cuestiones relacionadas