Revert "[Build System] Use DEPFILE instead of IMPLICIT_DEPENDS for dictionaries" - #23009
Conversation
guitargeek
left a comment
There was a problem hiding this comment.
Thanks! That's unfortunate it didn't work. Would you mind sharing your CMake configuration so this can be investigated? This platform are you using?
Did you test it locally on your system?
I'm encountering this on all my CMake configurations (on Alma 8). I tested a clean build with |
Yes, a second invocation of |
|
Indeed, it seems to work on Arch Linux. Maybe related to the versions of
|
|
Possibly! I could also reproduce the problem you describe in a docker file now: $ docker run --security-opt label=disable -it registry.cern.ch/root-ci/alma8:buildready
[root@f0557bed0697 /]# cd home/
[root@f0557bed0697 home]# git clone https://github.com/root-project/root.git
Cloning into 'root'...
remote: Enumerating objects: 1107935, done.
remote: Counting objects: 100% (305/305), done.
remote: Compressing objects: 100% (208/208), done.
remote: Total 1107935 (delta 147), reused 113 (delta 96), pack-reused 1107630 (from 4)
Receiving objects: 100% (1107935/1107935), 1.46 GiB | 32.61 MiB/s, done.
Resolving deltas: 100% (807967/807967), done.
Updating files: 100% (31081/31081), done.
[root@f0557bed0697 home]# mkdir root_build
[root@f0557bed0697 home]# cmake -G Ninja -Dminimal=ON ../root
[root@f0557bed0697 home]# cd root_build/
[root@f0557bed0697 root_build]# cmake -G Ninja -Dminimal=ON ../root
...
-- Build files have been written to: /home/root_build
[root@f0557bed0697 root_build]# ninja -j 12
[4369/4369] Generating tutorials/hsimple.root
[root@f0557bed0697 root_build]# ninja -j 12
[185/185] Generating tutorials/hsimple.root
[root@f0557bed0697 root_build]# ninja -j 12
[185/185] Generating tutorials/hsimple.root
[root@f0557bed0697 root_build]# cmake --version
cmake version 3.26.5
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[root@f0557bed0697 root_build]# ninja --version
1.8.2These are good datapoints for whoever will try to fix again #21203 after the revert is merged. |
…ctionaries" This reverts commit ae4d830 as it doesn't work at least on my machine (AlmaLinux 8) with CMake 3.26.5 and ninja 1.8.2: Now dictionaries are always rebuilt. $ ninja -n -d explain says ninja explain: expected depfile '/path/to/build-asserts-clang/io/io/G__RIO.depfile' to mention 'io/io/G__RIO.cxx', got 'G__RIO.cxx' ninja explain: expected depfile '/path/to/build-asserts-clang/core/G__Core.depfile' to mention 'core/G__Core.cxx', got 'G__Core.cxx' ninja explain: lib/Core.pcm is dirty
Test Results 13 files 13 suites 1d 9h 1m 1s ⏱️ For more details on these failures, see this check. Results for commit 1fef878. |
|
Maybe related: https://gitlab.kitware.com/cmake/cmake/-/work_items/13894 and ninja-build/ninja#2721 |
This reverts commit ae4d830 as it doesn't work: Now, on my machine, dictionaries are always rebuilt. I didn't investigate further, but this is harming productivity.