Re: Found (one) reason for packages not to do parallel builds?
On 04/01/12 18:12, Christian Jaeger wrote:
> Many Debian packages don't use more than 1 CPU even when passing -j$n
> to dpkg-buildpackage with $n > 1.
I'm not sure if that's the correct way to set it - I've always set it in
DEBIAN_BUILD_OPTIONS but I haven't checked lately to see if it's still
the correct way to do it.
> (Concretely, my build command is:
> dpkg-buildpackage -uc -us -b -r'fakeroot -u' -j2 )
> I'm surprised that this is the case even in today's 'testing',
> considering that most machines are multi-core now and I would expect
> maintainers to be impatient themselves. Anyway, today I've noticed the
> following line when building some package:
> make: warning: jobserver unavailable: using -j1. Add `+' to
> parent make rule.
> Googling found me
> which mentions to use $$(MAKE) instead of $(MAKE).
> I haven't looked into the package build files yet because I'm lazy and
> am usually put off by the usual complexity of builds. I'm asking
> myself whether I should look into these packages and attempt to apply
> the above fix somewhere. Then I'm asking what others are doing to
> remedy the situation. And in the end I decide to just at least dump
> this information here in case it would be useful for someone who might
> actually do something about it...
If the particular package build system supports multi-processor builds
(and as you point out, many don't) then "parallel=whatever" should work
(in the DBO).
It is (or was) in the policies somewhere. Sorry I can't be more precise
Iceweasel/Firefox extensions for finding answers to Debian questions:-