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 |