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