Sorry for some thread gravediggery, but thought to share my webkit-gtk
maintainer experience on this.

Ühel kenal päeval, N, 15.03.2018 kell 14:57, kirjutas thelma@sys-
concept.com:
> On 03/15/2018 12:29 PM, Neil Bothwick wrote:
> > On Thu, 15 Mar 2018 11:40:13 -0400, Walter Dnes wrote:
> > 
> > > > ninja: build stopped: subcommand failed.
> > > >  * ERROR: net-libs/webkit-gtk-2.18.6::gentoo failed (compile
> > > > phase):
> > > >  *   ninja -v -j5 -l8 failed  
> > > 
> > >   One option that sometimes cures mysterious failures is to do
> > > the build
> > > with...
> > > MAKEOPTS="-j1"
> > >    Yes, the build takes longer, but it may actually
> > > build.  Remember to
> > > set the option back to normal value after experimenting.
> > 
> > You can set it on the command line for that build only
> > 
> > MAKEOPTS="-j1" emerge whatever
> > 
> > I too find that it can help builds that otherwise fail, even when
> > it
> > doesn't, the make output gives a better idea of the failure point
> > when
> > parallel builds are not cluttering it up.
> > 
> > If the build log is that big, either compress it or just post the
> > last
> > 100 lines. The error message you posted doesn't really say much
> > more than
> > "it broke".
> 
> Thanks Walter and Neil,  Yes, that was the case not enough RAM,
> MAKEOPTS="-j1" fixed the problem.
> 
> Though, it was sloooow.  On Intel Quad core CPU and 4MB of RAM it
> took
> over 7-hours to compile it.
> I guess I need more RAM.

-j1 is probably too low. I think -j3 or so (maybe even -j4 instead of
-j5) would have worked for you too.

I don't know what's up exactly, but it seems like some parts of the
memory used in the build process is marked as not swappable. If you
have a higher -j, then it doesn't fit it all (the individual file
compiles can be quite memory hungry with C++ and webkit) and the kernel
just OOM kills one of the parallel processes and the whole build will
fail.

The confusing part here is as I said - sometimes swap doesn't even help
at all. Of course if you have no swap or not enough swap, it's even
more likely to die with high -j MAKEOPTS.

webkit-gtk-2.20 will be using the rough equivalent of chromium jumbo-
build unconditionally. We shall see how that will effect it all; I
suspect even lower -j might be needed to fit it all in RAM in
constrained situations.


Mart

Reply via email to