some problem about ninja: build stopped: subcommand failed.

3,273 views
Skip to first unread message

Buqing Nao

unread,
Mar 29, 2017, 8:11:58 AM3/29/17
to Chromium-dev
OS: win7 x64
vs2015
chromium version:56.0.2924.87

I want to build chromium with ninja,but every time it failed. And end like this :

[649/33313] ACTION //components/resour...out_credits(//build/toolchain/win:x86)
ninja: build stopped: subcommand failed.

no error information,no traceback 

my args.gn is:

google_api_key = "no"
google_default_client_id = "no"
google_default_client_secret = "no"
use_official_google_api_keys = false
enable_google_now = false
enable_hotwording = false
enable_iterator_debugging = false
enable_nacl = true
ffmpeg_branding = "Chrome"
is_component_build = true
is_debug = false
is_win_fastlink = false
symbol_level = 0
target_cpu = "x86"
visual_studio_version = "2015"

Please tell me how to solve this problem.  Thank you very much.

Buqing Nao

unread,
Mar 30, 2017, 4:19:02 AM3/30/17
to Chromium-dev
Hi ,chromium-dev. I am junior to chromium develop.
I have successfully built chromium before, but it broke down. So, I want to switch to a stable version.
My steps were :

cd /D D:\depot_tools
set PATH=D:\depot_tools;%PATH%
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_CHROMIUM_NO_ACTION=1
set GYP_MSVS_VERSION=2015
gclient
fetch --nohooks chromium

** now I have got chromium source code, but the version is 59.0.3042.0, a dev version. I just want to switch to a stable version, and next my steps were:

git fetch --tags
git checkout -b 57.0.2987.110
cd src
git fetch --tags
git reset --hard 57.0.2987.110

** now the version of chromium is 57.0.2987.110, and I do as follow:

gclient sync --force --nohooks --with_branch_heads

gn args out\stable_57 

** My args are:

google_api_key = "no"
google_default_client_id = "no"
google_default_client_secret = "no"
use_official_google_api_keys = false
chrome_pgo_phase = 0
current_cpu = "x64"
enable_google_now = false
enable_hotwording = false
enable_iterator_debugging = false
enable_nacl = true
ffmpeg_branding = "Chrome"
is_component_build = false
is_debug = false
is_win_fastlink = true
proprietary_codecs = true
symbol_level = 0
target_cpu = "x64"
visual_studio_version = "2015"
exclude_unwind_tables = true
remove_webcore_debug_symbols = true

** then :

ninja -C out\stable_57 mini_installer.exe

**However it always end like below with no error information or traceback:

[649/33313] ACTION //components/resour...out_credits(//build/toolchain/win:x64)
ninja: build stopped: subcommand failed.

I don't know why this happend. 
Today ,I have tried again, but I don not switch to the stable version, just buid 59.0.3042.0, and I successfully buit chromium.

In fact, I am not familiar with git, I don't know my orders were correct or not.

Could someone tell me how to download stable version source code of chromium by using git? And how to build stable version source code?  Thank you very much~


Bruce

unread,
Mar 31, 2017, 2:21:48 PM3/31/17
to Chromium-dev
Have you read these instructions?


Where is your Chromium repo being placed? It looks like it might be ending up inside of depot_tools, which is probably a very bad idea.

What is this line for?

> git checkout -b 57.0.2987.110

It creates a branch called 57.0.2987.110 and checks it out, but that branch has nothing to do with 57.0.2987.110. This is probably harmless, since it looks like (although I can't be sure) that you are doing this inside the depot_tools repo, but it seems misleading. To clarify, the -b option says to create a branch with that name. If you omit the -b then it will check out that tag, which is more likely to be what you want - but in the chromium repo, not in depot_tools.

Where did you get that list of gn args and why so many? The more you specify the more you are diverging from the well tested paths. Many seem contradictory or irrelevant. For example, is_win_fastlink exists to optimize the production of .pdb files, but symbol_level = 0 disables .pdb files entirely. 

Why are you passing --nohooks to gclient sync? The "gclient runhooks" stage which normally runs as part of "gclient sync" is important.

> set GYP_CHROMIUM_NO_ACTION=1

Not needed.

You should try running:

> ninja -j 1 -v -C out\stable_57 mini_installer.exe

This will run one command at a time and will run in verbose mode. You can then see exactly what command is failing and then try to diagnose why it is failing. Good luck.
Reply all
Reply to author
Forward
0 new messages