New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 686939 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Missing build dependencies for generated mojo headers: gen/services/ui/gpu/interfaces/*.mojom.h

Project Member Reported by lukasza@chromium.org, Jan 31 2017

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

 
Summary: Missing build dependencies for generated mojo headers: gen/services/ui/gpu/interfaces/*.mojom.h (was: Missing build dependency: )

Comment 2 by dcheng@chromium.org, Jan 31 2017

Labels: -Pri-3 Pri-2
Owner: sadrul@chromium.org
Status: Assigned (was: Untriaged)
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.
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

Comment 4 by sadrul@chromium.org, 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?
Status: Fixed (was: Assigned)

Sign in to add a comment