Bug#730637: gtk+3.0: FTBFS when building with -j8

Emilio Pozuelo Monfort pochu at debian.org
Wed Nov 27 23:21:09 UTC 2013


Hey,

On 27/11/13 23:06, Raphael Geissert wrote:
> On Wednesday 27 November 2013 22:35:31 Raphael Geissert wrote:
>> I believe that debhelper does that for you:
> 
> Sigh, wrong reference, and now that I think about it it's very likely that 
> cdbs is the one using the value of DEB_BUILD_OPTIONS=parallel=8
> 
> class/langcore.mk defines DEB_PARALLEL, which is later used by makefile-
> vars.mk

The way it works is:

You set DEB_BUILD_OPTIONS=parallel=8

langcore.mk sets DEB_PARALLEL_JOBS = 8:

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
	DEB_PARALLEL_JOBS ?= $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif

And then makefile-vars.mk:

DEB_MAKE_PARALLEL ?= $(and $(DEB_BUILD_PARALLEL),$(DEB_PARALLEL_JOBS),-j$(DEB_PARALLEL_JOBS))

That is an $(and ), so DEB_MAKE_PARALLEL becomes -j8 only if DEB_BUILD_PARALLEL is set. That is a flag that is to be set by the maintainer in debian/rules if the package supports parallel building. Since we don't set it in gtk+, DEB_MAKE_PARALLEL won't be set and thus -j8 won't be passed to make. If in the end make gets a -j8 flag, there is a bug somewhere, because that shouldn't be passed.

See e.g. https://buildd.debian.org/status/fetch.php?pkg=gtk%2B3.0&arch=i386&ver=3.8.6-1&stamp=1382403236
which has a parallel=8 but as you can see CDBS doesn't invoke make with -j8.

In any case it is my goal to enable parallel builds at least in our bigger packages (gtk+, glib, pango...) so I'll eventually look at this (hopefully soonish).

Cheers,
Emilio



More information about the pkg-gnome-maintainers mailing list