Build 一旦发生错误,是否有可能加快crosstool ng构建的速度?

Build 一旦发生错误,是否有可能加快crosstool ng构建的速度?,build,cross-compiling,Build,Cross Compiling,我正在使用crosstool ng为beagleboard xm构建一个tolchain。构建以下面描述的方式进行: [信息] ===============================================================================[INFO]检索所需工具链组件的tarball[INFO] 检索所需工具链组件的tarball:在0.51秒内完成(在 00:08[信息] =====================================

我正在使用crosstool ng为beagleboard xm构建一个tolchain。构建以下面描述的方式进行:

[信息] ===============================================================================[INFO]检索所需工具链组件的tarball[INFO] 检索所需工具链组件的tarball:在0.51秒内完成(在 00:08[信息] ============================================================================[INFO]提取和修补工具链组件[INFO] 提取和修补工具链组件:在7.91秒内完成(00:16) [信息] =========================================================================[INFO]安装GMP[INFO]安装GMP:在140.48秒内完成(在 02:36)[信息] =========================================================================[INFO]安装MPFR[INFO]安装MPFR:在36.01秒内完成(在 [信息] =================================================================================================[信息]安装PPL

`

现在,编译50分钟后,它会出现错误:

[错误]配置:错误:expat丢失或不可用”


我安装了所需的软件包(在Ubuntu 10.04中)但这个错误不是问题。早些时候,我能够进入到它成功安装编译器的步骤,在此之前没有错误。我想知道是否有一种方法可以让工具跳过以前成功的步骤,节省时间?crosstool ng的工作方式是否可能?

是的,有可能。像这样运行ct ng这个

───────────────────── Paths and misc options ─────────────────────
[*] Debug crosstool-NG
[ ]   Pause between every steps
[*]   Save intermediate steps
[*]     gzip saved states
[*]   Interactive shell on failed commands
CT\U调试\U CT\U保存\U步骤=1 CT ng生成

在某个步骤崩溃后,只需在生成的列表中找到该步骤

ct ng列表步骤

此时,您可以通过运行

重新启动=libc\u启动\u文件ct ng生成


是的,当前crosstool ng支持此功能

  • 在menuconfig中启用此功能
  • 对于
    ct ng menuconfig
    ,像这样配置
    路径和其他选项

    ───────────────────── Paths and misc options ─────────────────────
    [*] Debug crosstool-NG
    [ ]   Pause between every steps
    [*]   Save intermediate steps
    [*]     gzip saved states
    [*]   Interactive shell on failed commands
    
    2.进行构建时,对于成功完成的每个步骤,您将看到如下内容:

    保存状态以在步骤“xxx”重新启动…

    3.失败时,在修复后,使用
    ct ng LAST\u SUCCESSFUL\u STETP\u NAME+
    继续构建

    我的例子是:

    CLi@PC-CLI-1 ~/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.
    
    CLi@PC-CLI-1 ~/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] /
    
    CLi@PC-CLI-1~/develope/crosstool ng/crosstool-ng-1.18.0\u build
    $ct ng列出步骤
    可用的生成步骤,顺序如下:
    -libc\u检查\u配置
    -用于构建的配套库
    -用于构建的binutils\u
    -主机的伴奏库
    -binutils_用于_主机
    -cc_核心_通过_1
    -内核头文件
    -libc_开始文件
    -cc_核心_通过_2
    -libc
    -cc_用于_构建
    -cc_用于_主机
    -libelf_用于_目标
    -目标的binutils_
    -调试
    -测试套件
    -完成
    使用“p>”作为操作仅执行该步骤“+”lt;步骤>“作为从该步骤开始执行的操作,直到“+”se“+”为止。
    CLi@PC-CLI-1~/develope/crosstool ng/crosstool-ng-1.18.0\u build
    $ct ng libc+
    [信息]执行一些琐碎的健全性检查
    [信息]已开始构建20130801.120248
    [信息]建筑环境变量
    [额外]准备工作目录
    [额外]根据请求在步骤“libc”处恢复状态。
    [信息]=================================================================
    [信息]安装C库
    [EXTRA]配置C库
    [额外]C楼图书馆
    [01:55] /
    

    有关更多解释,请参阅我的帖子:

    *请原谅格式化。谢谢。找到它。“ct ng--help”没有提供正确的信息。请使用“ct ng help”。查找重新启动构建的选项。对于未来的谷歌用户,请使用
    sudo apt get install libexpat1 dev
    修复此错误(简单地安装expat并不能解决此问题。)