[vtk-developers] Moved Mirkwood ninja dashboards to nightly

David Cole dlrdave at aol.com
Mon Apr 1 16:29:55 EDT 2013


A big never mind. That approach didn't work either.

Removing the file-level dependency did allow the full rebuild approach 
to work (patch set 2 if you want to try it), but as David Gobbi pointed 
out, it may have broken incremental rebuilds...

I guess we do need a minimal repro case to see if there's something in 
the ninja generator in CMake that can be fixed to make this scenario 
work.

Oh well. It's Monday. Maybe tomorrow the flash of inspiration will 
strike somewhere.




-----Original Message-----
From: David Cole <dlrdave at aol.com>
To: brad.king <brad.king at kitware.com>; vtk-developers 
<vtk-developers at vtk.org>
Cc: bill.lorensen <bill.lorensen at gmail.com>; berk.geveci 
<berk.geveci at kitware.com>
Sent: Mon, Apr 1, 2013 3:50 pm
Subject: Re: [vtk-developers] Moved Mirkwood ninja dashboards to nightly


I think this is possibly due to an interaction between POST BUILD
custom commands and pure rule-based input-changed custom commands...

The generation of the hierarchy files are POST BUILD commands on the
"unwrapped" pure module library targets.

The usage of the hierarchy files, to generate *Python.cxx files are
used in pure input-changed style custom commands, whose output, the
*.cxx files are built into the "*Python" and "*PythonD" libraries.

Those python libs already depend on the pure module library targets via
target_link_libraries, but it seems like there is no target-ordering
inferred all the way through to the rules that generate the sources...

So... ninja complains that there's no rule to build a hierarchy file as
it's trying to generate a Python.cxx file, since it has nothing else to
do in parallel. (Not sure why this problem is never seen with parallel
make, or maybe with jom...)

My latest patch set attempts to fix the issue by using add_dependencies
in addition to target_link_libraries. And addresses David Gobbi's
proper concern with the previous patch set.

I will run some Experimental dashboards right now to verify (or
disprove) that it "works."


Stay tuned,
D



-----Original Message-----
From: Brad King <brad.king at kitware.com>
To: VTK Developers <vtk-developers at vtk.org>
Cc: Bill Lorensen <bill.lorensen at gmail.com>; David Cole
<dlrdave at aol.com>; Berk Geveci <berk.geveci at kitware.com>
Sent: Mon, Apr 1, 2013 2:46 pm
Subject: Re: [vtk-developers] Moved Mirkwood ninja dashboards to nightly


On 04/01/2013 02:03 PM, Bill Lorensen wrote:
> Should we ask the cmake folks if ninja is supported? Perhaps they can
help.

CMake's Ninja generator was contributed and is maintained along with
the other generators.  It is tested on CMake's dashboard just like
any other generator.  Of course there could be bugs in the generator
or in ninja that are not covered by either test suite.  VTK may
encounter such bugs but should not be required to work around them
in order to "support" ninja-based builds (but may optionally do
so as a temporary solution).

We should not ask ninja developers or those who contributed and
maintain CMake's Ninja generator to build all of VTK to find the
problem.  We need a minimal example to provide to them.

If someone encountering the problem can narrow down a dependency
failure to an example test case then the problem can be reported,
diagnosed, and addressed in CMake or ninja itself.

-Brad



  



More information about the vtk-developers mailing list