[Buildroot] autoconf caching

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sat Jun 14 07:57:43 UTC 2014


Dear Dallas Clement,

(Seems like your e-mail client has major issues with line wrapping).

On Fri, 13 Jun 2014 19:52:15 -0500, Dallas Clement wrote:

> Fabio, I have some good news!  I had commented out the .NOTPARALLEL
> in the top-level
> makefile earlier, but I was not setting BR2_JLEVEL correctly, as I was
> doing so from
> a wrapper makefile.  Anyhow, parallel building is working for me now
> after fixing my mistake.
> When I started this journey, my build times were about 1 hour and 50
> minutes.  After
> enabling ccache they were reduced to about 1 hour.  With parallel
> package building,
> all 8 of my CPU cores are near 100% the whole time, and build times
> are now only 14 minutes!!!
> 
> You are a beautiful man!  Thank you for all you have done to get this
> working.

That's indeed a very significant improvement. However, be careful that
using top-level parallel builds makes builds non-reproducible: we do
not guarantee that from one build to the other you'll get the same
result. You might even get failures sometimes, and then success. Or the
other way around. That's why we don't allow top-level parallel build by
default.

Unfortunately, the only way to fix this is to have per-package sysroot,
and doing this will involve a lot more preparation work before starting
the build of each package, which will certainly reduce the benefit of
top-level parallel build. That's something that needs to be worked on,
but it's far from being a trivial problem.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


More information about the buildroot mailing list