View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004595 | Slicer4 | Core: Building (CMake, Superbuild) | public | 2018-08-07 13:01 | 2018-10-13 04:11 |
Reporter | inorton | Assigned To | jcfr | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.9.0 | Fixed in Version | Slicer 4.9.0 | ||
Summary | 0004595: multiple rules generate slicer (ninja error) | ||||
Description | The latest ninja versions set '-w dupbuild=error' by default, which makes this long-standing warning into an error by default:
The offending lines in Slicer-build/build.ninja are:
Of course it can be worked around by passing '-w dupbuild=warn' as in the past, but would be nice to build cleanly ootb (I'm using the Kitware ninja binaries w/ jobserver). | ||||
Tags | No tags attached. | ||||
Considering the following example
and its associated
Running any of the following command succeed:
This indicates that having these two phony rules may not be the issue:
This is confirmed by skipping the launcher configuration in the application:
In that case, we still have the same two phony rules but no complain from ninja. |
|
The second line is the one ninja identified in the error message. Here is some related discussion: https://github.com/ninja-build/ninja/issues/931 It's actually a bit trickier than just
|
|
Do you think ninja is reporting the wrong line number? Or this is a CMake bug? |
|
This sample project allows to reproduce the problem https://gist.github.com/jcfr/7e342d8ff786b82ff81873a96f66a292#gistcomment-2673574 |
|
Thanks. So my understanding is that ninja is correct here, but only one of the One possible work-around: invert the order. Make https://gist.github.com/jcfr/7e342d8ff786b82ff81873a96f66a292#gistcomment-2673734 [edit: posted wrong link above] |
|
Suggested workaround makes sense. Here is also the fix I suggested for the Ninja generator: https://gitlab.kitware.com/jcfr/cmake/commit/00a94baa695bcf951c0b6b8ce48617655cf97f54 |
|
MR submitted to upstream CMake. See https://gitlab.kitware.com/cmake/cmake/merge_requests/2276 I will implement the workaround in Slicer also, we may have to add workaround in other place ... see https://github.com/Kitware/SlicerSALT/issues/44 |
|
Great. btw I guess the work-around is technically equivalent to just removing the |
|
Fix (along with test) merged into app launcher: https://github.com/commontk/AppLauncher/commit/445c93b4043e80ee8efc5c65a2b4d47322e34408 (Before doing a new a release of the launcher, gonna have to create a new static build tree of Qt so that QProcess::setInputChannelMode is available. See https://github.com/commontk/AppLauncher/pull/101#issuecomment-411918208) |
|
Fixed in r27469 |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2018-08-07 13:01 | inorton | New Issue | |
2018-08-07 13:01 | inorton | Status | new => assigned |
2018-08-07 13:01 | inorton | Assigned To | => jcfr |
2018-08-07 13:12 | jcfr | Target Version | => Slicer 4.9.0 |
2018-08-07 22:17 | jcfr | Note Added: 0015942 | |
2018-08-07 22:18 | jcfr | Note Edited: 0015942 | View Revisions |
2018-08-07 22:18 | jcfr | Note Edited: 0015942 | View Revisions |
2018-08-07 22:30 | inorton | Note Added: 0015943 | |
2018-08-08 08:41 | inorton | Note Edited: 0015943 | View Revisions |
2018-08-08 08:43 | inorton | Note Edited: 0015943 | View Revisions |
2018-08-08 08:44 | inorton | Note Added: 0015944 | |
2018-08-08 14:51 | jcfr | Note Added: 0015947 | |
2018-08-08 17:58 | inorton | Note Added: 0015948 | |
2018-08-08 21:33 | inorton | Note Edited: 0015948 | View Revisions |
2018-08-09 08:17 | jcfr | Note Added: 0015949 | |
2018-08-09 11:58 | jcfr | Note Added: 0015950 | |
2018-08-09 13:00 | inorton | Note Added: 0015951 | |
2018-08-09 19:11 | jcfr | Note Added: 0015954 | |
2018-09-11 14:08 | jcfr | Relationship added | child of 0004605 |
2018-10-13 04:11 | jcfr | Status | assigned => resolved |
2018-10-13 04:11 | jcfr | Resolution | open => fixed |
2018-10-13 04:11 | jcfr | Fixed in Version | => Slicer 4.9.0 |
2018-10-13 04:11 | jcfr | Note Added: 0016117 |