[Development] Qt 6 buildsystem support requirements

Jedrzej Nowacki jedrzej.nowacki at qt.io
Wed Aug 8 13:53:50 CEST 2018


On Tuesday, July 31, 2018 8:15:50 PM CEST Ville Voutilainen wrote:
> On 31 July 2018 at 20:49, Thiago Macieira <thiago.macieira at intel.com> wrote:
> > I know CMake meets these requirements, but it has other problems and the
> > fact that it currently does not build Qt. On that front, qbs is ahead.
> > But qbs has a shorter track record. Since we're not switching
> > buildsystems in the next 2 years, there's time for the proponents of qbs
> > to take actions to achieve those requirements above.
> > 
> > In other words: get others to adopt the buildsystem before we switch Qt.
> > Prove that it can support Qt.
> > 
> > I know switching Qt would gain it a big critical mass, the same way that
> > KDE switching to CMake in 2006 gave CMake an important boost [*]. But
> > we're not switching Qt just yet, so if you're saying the tool is ready,
> > get others to use it now.
> 
> This provoked a thought in me, a way to make qbs worth all its effort:
> make debugging
> a build so staggeringly ridiculously good that it becomes attractive
> to use it. I don't know
> what debugging builds done with python-based build systems is like,
> but debugging make-based
> builds is rather horrible.
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

Oh debugging... 

<dream world>

I would love a build system that actually thinks about real world in which 
sub-processes are crashing, getting locked or became unusually slow. One that 
automatically attach debugger and scans operating system for basic issues, for 
example I would like to see something like that:

"error: ABC process crashed, here there is backtrace of it (...) at the time 
of the crash memory usage was ~ZZ% and avg load of Y, in parallel we were 
executing processes: BGD, SFD"
"warning: CBA process seems to not doing anything for last X minutes, the avg 
load is 1% for the last 30s, maybe try strace with PID to debug it?"
"warning: performance may be poor because of a heavy swap usage"
"error:  you are almost out of disk space (~300 MB) suspending the build"
"warning: process HBG runs already for X minutes, constantly using whole CPU"

A system that is aware of memory constrains and CPU limits. So I'm not 
surprised if like with make suddenly -j60 doesn't work as expected because I 
have changed to a network without icecream scheduler. A system that 
automatically limits number of parallel tasks if swap is getting full to avoid 
out of memory kills.

</dream world>

Cheers,
  Jędrek





More information about the Development mailing list