Gentoo Archives: gentoo-user

From: Mart Raudsepp <leio@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] [SOLVED] webkit-gtk-2.18.6 failed (compile phase)
Date: Sun, 06 May 2018 22:02:57
Message-Id: 1525644163.18729.15.camel@gentoo.org
In Reply to: Re: [gentoo-user] [SOLVED] webkit-gtk-2.18.6 failed (compile phase) by thelma@sys-concept.com
1 Sorry for some thread gravediggery, but thought to share my webkit-gtk
2 maintainer experience on this.
3
4 Ühel kenal päeval, N, 15.03.2018 kell 14:57, kirjutas thelma@sys-
5 concept.com:
6 > On 03/15/2018 12:29 PM, Neil Bothwick wrote:
7 > > On Thu, 15 Mar 2018 11:40:13 -0400, Walter Dnes wrote:
8 > >
9 > > > > ninja: build stopped: subcommand failed.
10 > > > > * ERROR: net-libs/webkit-gtk-2.18.6::gentoo failed (compile
11 > > > > phase):
12 > > > > * ninja -v -j5 -l8 failed
13 > > >
14 > > > One option that sometimes cures mysterious failures is to do
15 > > > the build
16 > > > with...
17 > > > MAKEOPTS="-j1"
18 > > > Yes, the build takes longer, but it may actually
19 > > > build. Remember to
20 > > > set the option back to normal value after experimenting.
21 > >
22 > > You can set it on the command line for that build only
23 > >
24 > > MAKEOPTS="-j1" emerge whatever
25 > >
26 > > I too find that it can help builds that otherwise fail, even when
27 > > it
28 > > doesn't, the make output gives a better idea of the failure point
29 > > when
30 > > parallel builds are not cluttering it up.
31 > >
32 > > If the build log is that big, either compress it or just post the
33 > > last
34 > > 100 lines. The error message you posted doesn't really say much
35 > > more than
36 > > "it broke".
37 >
38 > Thanks Walter and Neil, Yes, that was the case not enough RAM,
39 > MAKEOPTS="-j1" fixed the problem.
40 >
41 > Though, it was sloooow. On Intel Quad core CPU and 4MB of RAM it
42 > took
43 > over 7-hours to compile it.
44 > I guess I need more RAM.
45
46 -j1 is probably too low. I think -j3 or so (maybe even -j4 instead of
47 -j5) would have worked for you too.
48
49 I don't know what's up exactly, but it seems like some parts of the
50 memory used in the build process is marked as not swappable. If you
51 have a higher -j, then it doesn't fit it all (the individual file
52 compiles can be quite memory hungry with C++ and webkit) and the kernel
53 just OOM kills one of the parallel processes and the whole build will
54 fail.
55
56 The confusing part here is as I said - sometimes swap doesn't even help
57 at all. Of course if you have no swap or not enough swap, it's even
58 more likely to die with high -j MAKEOPTS.
59
60 webkit-gtk-2.20 will be using the rough equivalent of chromium jumbo-
61 build unconditionally. We shall see how that will effect it all; I
62 suspect even lower -j might be needed to fit it all in RAM in
63 constrained situations.
64
65
66 Mart