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