2012-03-28 3 views
9

저는 beagleboard-xm을위한 tolchain을 만들기 위해 crosstool-ng를 사용하고 있습니다. 방식으로 빌드 진행 아래 묘사 : 오류가 발생하면 crosstool-ng 빌드의 속도를 높일 수 있습니까?

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

내가 (우분투 10.04에서) 필요한 패키지를 설치하지만 오류 :

[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 . .

`

이제 컴파일 50 분 후, 그것은 오류와 함께 나누기 중요하지 않습니다. 이전에는 컴파일러를 성공적으로 설치 한 단계까지 도달 할 수 있었고 그때까지는 오류가 없었습니다. 이전에 성공한 단계를 건너 뛰고 시간을 절약 할 수있는 방법이 있는지 궁금합니다. crosstool-ng가 작동하는 방식으로도 가능합니까?

+0

* 서식을 용서하십시오. 감사. – user461150

+0

발견. "ct-ng --help"는 올바른 정보를 제공하지 않습니다. "ct-ng help"를 사용하십시오. RESTART 빌드 옵션을 찾습니다. – user461150

+4

미래의 Google 직원을 위해이 오류를'sudo apt-get install libexpat1-dev'로 수정하십시오. 단순히 expat을 설치해도 문제가 해결되지 않습니다. – markgz

답변

14

네, 가능합니다. 실행의 특정 단계에서 충돌 한 후이

CT_DEBUG_CT_SAVE_STEPS=1 ct-ng build

처럼 CT-ng를, 당신이

RESTART=libc_start_files ct-ng build

을 실행하여 빌드를 다시 시작할 수있는 시점에서

ct-ng list-steps

에 의해 생성 된 목록에서 단계를 찾을 수

8

예, 현재 crosstool-ng가이 기능을 지원합니다.

  1. 각 단계가 성공적으로 수행을 위해,이 같은 것을 볼 구축 않는이

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

    할수 있도록 팝업처럼, ct-ng menuconfig에 대한 설정 Paths and misc options을 menuconfig를

에서이 기능을 사용 :

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

내 게시물을 참조

[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]/

더 많은 explaination을 위해 :

3.when은 후

내 예제를 빌드 계속 ct-ng LAST_SUCCESSFUL_STETP_NAME+를 사용 후, 그것을 해결 실패 crosstool-ng build for xscale

관련 문제