When building Qt5 5.12.8 I observed that the QtWebEngine part was very slow. It uses Ninja inside Make and for some reason Ninja only spawned one g++ process at a time. Now I did use something non-standard, namely using a Gentoo Prefix Ninja, which is a fork with support for the GNU Make jobserver (https://github.com/Kitware/ninja), and that was what caused this interaction.
However when putting ninja 1.10.0 as a builddependency I see this:
Checking for system ninja... no
and it then proceeds to build and use an included Ninja in (qtwebengine/src/3rdparty/ninja/ninja), which is Ninja version 1.8.2 in this case.
From a pure EB perspective I see two issues here:
- The Qt make procedure has this check (also in 5.14.1):
contains(version, "1.[7-9].*"): return(true)
qtLog("Ninja version too old")
Ninja 1.10 fails this test and that's why it uses the included Ninja instead of the builddep.
- Ninja by default (ie. not the one with GNU Make jobserver support) will gobble up all cores. If you want to avoid that you need to pass it an explicit
-jN flag, via prebuildopts = "NINJAFLAGS='-j8'" (see https://patchwork.ozlabs.org/project/buildroot/patch/20180629143521.9018-1-gael.portay@savoirfairelinux.com/ )
When building Qt5 5.12.8 I observed that the QtWebEngine part was very slow. It uses Ninja inside Make and for some reason Ninja only spawned one g++ process at a time. Now I did use something non-standard, namely using a Gentoo Prefix Ninja, which is a fork with support for the GNU Make jobserver (https://github.com/Kitware/ninja), and that was what caused this interaction.
However when putting ninja 1.10.0 as a builddependency I see this:
and it then proceeds to build and use an included Ninja in (
qtwebengine/src/3rdparty/ninja/ninja), which is Ninja version 1.8.2 in this case.From a pure EB perspective I see two issues here:
Ninja 1.10 fails this test and that's why it uses the included Ninja instead of the builddep.
-jNflag, viaprebuildopts = "NINJAFLAGS='-j8'"(see https://patchwork.ozlabs.org/project/buildroot/patch/20180629143521.9018-1-gael.portay@savoirfairelinux.com/ )