Search code examples
buildcross-compiling

Is it possible to speed up crosstool-ng builds once errors have occured?


I am using crosstool-ng to build a tolchain for beagleboard-xm. The build proceeds in a manner depicted below:

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

`

Now, after 50 mins of compiling, it breaks with an error:

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

I installed the required package (in Ubuntu 10.04) but the error is a non-issue. Earlier I was able to get to steps where it had successfully installed the compiler and there were no errors till then. I was wondering if there is a way to have the tool skip over previously successfull steps, saving time? Is it even possible with the way crosstool-ng works?


Solution

  • Yes, it's possible. Run ct-ng like this

    CT_DEBUG_CT_SAVE_STEPS=1 ct-ng build

    After crashing at a certain step, just find the step in the list produced by

    ct-ng list-steps

    At which point you can resume the build by running

    RESTART=libc_start_files ct-ng build