<darfo>
i've found qt6-webengine with 2G/core compiles but swaps a lot. By hacking ninja to run on half the cores it actually compiles faster because of no swapping.
<darfo>
1G/core does with OOM
<darfo>
s/does/dies/
joe9 has quit [Quit: leaving]
<ukky>
jaeger: qtwebengine builds fine on my system, no need to limit CPU cores. I just remove one core to watch youtube during the build. My RAM ratio is 5G per core.
<jaeger>
hrmm, ok
<ukky>
There were a few processes that allocated 3 GiB of memory. I think the build used approximately 40-45 GiB of RAM at the peak.
<jaeger>
I'm currently testing 2G/core (including swap) on the laptop
<ukky>
2G/core plus swap might be a minimum for successful build.
<jaeger>
Just failed with 8G RAM, 8G swap, 8 cores
<ukky>
Could you try 1.5G/core ratio?
<ukky>
I mean physical RAM ratio
serpente has quit [Remote host closed the connection]
<jaeger>
interesting... looking at that ebuild I guess it somehow respects NINJAFLAGS rather than MAKEFLAGS or similar? Will have to try that. opt/qtwebengine sets that but not opt/qt6-webengine
<cruxbridge>
<tim> do you all use ccache/distcc by any chance or am I the only one? Because this is the biggest difference I can see unmentioned here by all the reports
<ukky>
tim: I do not use ccache/distcc
<jaeger>
I don't use either of them anymore. I used to but have run into problems just enough to stop relying on them.
<cruxbridge>
<tim> r0ni is currently investigating a bug that prevents me from compiling it on the rpi4 with 4gb of ram, but it used to work on there too, with 8 jobs between two pies
<cruxbridge>
<tim> I am just curious why I don't seem to trigger the same problem you all seem to have. anyway, if it helps to set NINJAFLAGS as well I can add that
<ukky>
jaeger: I believe gentoo does not limit number of compile jobs for qtwebengine. But it will not even try to start building and exit with a warning that system does not have enough RAM.
<ukky>
yes, line 214 is how gentoo limits number of compiler jobs for ninja based on MAKEOPTS jobs. I am not sure if ninja takes MAKEOPTS into consideration.
<jaeger>
It does not
<jaeger>
I've tried MAKEOPTS and MAKEFLAGS before, didn't know about NINJAFLAGS
ppetrov^ has quit [Quit: Leaving]
<darfo>
only one I've found that ninja respects is JOBS
<darfo>
oh, NM.
<darfo>
It is because I shim in a ninja shell script that runs the real ninja with -j $JOBS
<jaeger>
ninja doesn't respect JOBS either, yeah
<jaeger>
I plan to test with NINJAFLAGS but if it also ignores that I'll shim as well and forget about it
<darfo>
No respect at all :) Shim works though but I have to move it out of the way for full speed with other builds
<jaeger>
Maybe make the shim do something silly like "if [ "$name" = "qtwebengine" ]" :D
<darfo>
I've had trouble with some non-qt6* builds if the shim is in place. This is the one I use: https://dpaste.com/HMH34J5M4
<jaeger>
pretty straightforward
<darfo>
yes. Only thing I've found that works. I should have built my desktop at 4G/core instead of 2G/core.
<jaeger>
As a side note, ninja's default seems to be to use $(nproc)+2, so even when I was disabling 4 cores it was still using 6 jobs, heh
<cruxbridge>
<tim> :D
lavaball has quit [Remote host closed the connection]
<jaeger>
Looks like it does not respect NINJAFLAGS or NINJA_FLAGS (found references to both), so wrapper it is