Missing build dependencies for generated mojo headers: gen/services/ui/gpu/interfaces/*.mojom.h |
|||
Issue description
REPRO STEPS:
1. Get Windows 10 machine
2. Get or find Chromium sources
3. Start with no out/rel directory (or delete it)
4. Setup GN:
D:\src\chromium\src>type out\rel\args.gn
is_debug = false
symbol_level = 0
is_clang = true
5. Build everything:
D:\src\chromium\src>ninja -j100 -l36 -d keeprsp -C out/rel
EXPECTED: Everything builds fine.
ACTUAL BEHAVIOR: Build fails with:
FAILED: obj/content/app/content_main_runner_browser/content_main_runner.obj
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/content/app/content_main_runner_browser/content_main_runner.obj.rsp /c ../../content/app/content_main_runner.cc /Foobj/content/app/content_main_runner_browser/content_main_runner.obj /Fd"obj/content/app/content_main_runner_browser_cc.pdb"
In file included from ../../content/app/content_main_runner.cc:49:
In file included from ../..\content/browser/gpu/gpu_process_host.h:32:
D:\src\chromium\src\out\rel\gen\services\ui\gpu\interfaces\gpu_host.mojom.h(36,10): fatal error: 'services/ui/gpu/interfaces/context_lost_reason.mojom.h' file not found
#include "services/ui/gpu/interfaces/context_lost_reason.mojom.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
FWIW, I can manually request building of the missing file (or "files" actually) and then successfully build the object file that failed above. This seems to indicate a missing build dependencies between the object file and the missing file. Commands to build the missing file and to try rebuilding the object file:
D:\src\chromium\src>ninja -j100 -l36 -d keeprsp -C out/rel gen/services/ui/gpu/interfaces/context_lost_reason.mojom.h
ninja: Entering directory `out/rel'
[1/1] ACTION //services/ui/gpu/interfaces:interfaces__generator(//build/toolchain/win:clang_x64)
D:\src\chromium\src>ninja -j100 -l36 -d keeprsp -C out/rel gen/services/ui/gpu/interfaces/gpu_main.mojom.h
ninja: Entering directory `out/rel'
[1/1] ACTION //services/ui/gpu/interfaces:interfaces__generator(//build/toolchain/win:clang_x64)
D:\src\chromium\src>ninja -j100 -l36 -d keeprsp -C out/rel gen/services/ui/gpu/interfaces/gpu_service.mojom.h
ninja: Entering directory `out/rel'
[1/1] ACTION //services/ui/gpu/interfaces:interfaces__generator(//build/toolchain/win:clang_x64)
D:\src\chromium\src>ninja -j100 -l36 -d keeprsp -C out/rel obj/content/app/content_main_runner_browser/content_main_runner.obj
ninja: Entering directory `out/rel'
[1/1] CXX obj/content/app/content_main_runner_browser/content_main_runner.obj
,
Jan 31 2017
I'm not sure where the missing dep is, but looks like this might have been introduced by https://chromium.googlesource.com/chromium/src/+/72aae8ab52b19f803d4a1ef794bb5783190bf32b.
,
Jan 31 2017
Hmmmm... I am not sure anymore if this build error is caused by a missing dependency or by something else. If I delete the generated mojo headers (the ones that I had to generate manually above), they *will* get regenerated by ninja: PS D:\src\chromium\src> del out/rel/gen/services/ui/gpu/interfaces/context_lost_reason.mojom.h PS D:\src\chromium\src> del out/rel/gen/services/ui/gpu/interfaces/gpu_main.mojom.h PS D:\src\chromium\src> del out/rel/gen/services/ui/gpu/interfaces/gpu_service.mojom.h CMD D:\src\chromium\src>ninja -j100 -l36 -d keeprsp -C out/rel obj/content/app/content_main_runner_browser/content_main_runner.obj ninja: Entering directory `out/rel' [4/4] CXX obj/content/app/content_main_runner_browser/content_main_runner.obj
,
Jan 31 2017
I think this is issue 685440 (the fix landed earlier today: https://codereview.chromium.org/2661563002/) Are you building with that fix?
,
May 3 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by lukasza@chromium.org
, Jan 31 2017