Failed building chromium 65.0.3325.181 64 bit on Windows

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Failed building chromium 65.0.3325.181 64 bit on Windows

Postby ionian » Wed Aug 01, 2018 8:09 am

Hello,

I'm trying to do a build of CEF/Chromium 65.0.3325.181 on Windows 8.1 64 bit.
I have installed the Window 10 SDK version 10.0.15063.674 and Visual Studio 2017 community.

I'm fetching the code using this script (in d:\code\chromium_git\) :

set CEF_USE_GN=1
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome enable_precompiled_headers = false
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/*
python d:\code\automate\automate-git.py --download-dir=D:\code\chromium_git\ --depot-tools-dir=D:\code\depot_tools --no-build --branch=3325


I'm creating the project files using this script using this script (in d:\code\chromium_git\chromium\src\cef\):

set CEF_USE_GN=1
set GN_DEFINES=is_win_fastlink=true proprietary_codecs=true ffmpeg_branding=Chrome
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/*
call cef_create_projects.bat


For 32 bit I'm building cef using:

cd d:\code\chromium_git\chromium\src
ninja -C out\Release_GN_x86 cef

For 64 bit I'm building cef using:

cd d:\code\chromium_git\chromium\src
ninja -C out\Release_GN_x64 cef

32bit builds go fine , both Debug and Release versions and I can create the binary distrib at the end running

make_distrib.bat --ninja-build

However, the 64 bit builds are failing, both Release and Debug, regardless of whether I run the automated-git.py script with the --x64-build parameter or if I just build it later using ninja -C out\Release_GN_x64 cef

The error I'm getting when building Release x64 is this:

D:\code\chromium_git\chromium\src>ninja -C out\Release_GN_x64 cef
ninja: Entering directory `out\Release_GN_x64'
[1/1] Regenerating ninja files
[9341/30229] ACTION //third_party/dom_distiller_...r_proto_gen(//build/toolchain/win:win_clang_x64)
FAILED: gen/third_party/dom_distiller_js/dom_distiller.pb.h gen/third_party/dom_distiller_js/dom_dis
tiller.pb.cc pyproto/third_party/dom_distiller_js/dom_distiller_pb2.py gen/third_party/dom_distiller
_js/dom_distiller_json_converter.h
D:/code/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../tools/protoc_wrapper/protoc_wrap
per.py dom_distiller.proto --protoc ./protoc.exe --proto-in-dir ../../third_party/dom_distiller_js/d
ist/proto --cc-out-dir gen/third_party/dom_distiller_js --py-out-dir pyproto/third_party/dom_distill
er_js --plugin ../../third_party/dom_distiller_js/protoc_plugins/json_values_converter.bat --plugin-
out-dir gen/third_party/dom_distiller_js --plugin-options output_dir=:
The system cannot find the path specified.
--plugin_out: protoc-gen-plugin: Plugin failed with status code 1.
Protoc has returned non-zero status: 1 .
[9350/30229] CXX obj/third_party/cld_3/src/src/protos/task_spec.pb.obj
ninja: build stopped: subcommand failed.

What is it that I am doing wrong?
Please help!

Thank you,
Ionut
ionian
Newbie
 
Posts: 7
Joined: Wed Aug 01, 2018 8:04 am

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby ndesktop » Wed Aug 01, 2018 11:11 am

Normally you should not build 32 and 64 from the same directory. The scripts executed during the prepare/generation phase clobber each other (or so I know, maybe things changed).
I am using identical checkouts (except platform) in a root dir like D:\code, as D:\code\x86 for building 32-bit and D:\code\x64 for 64 bit.
So far that's the only way I worked.
ndesktop
Master
 
Posts: 756
Joined: Thu Dec 03, 2015 10:10 am

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby magreenblatt » Wed Aug 01, 2018 11:19 am

It should be OK to use the same Chromium checkout for x86 and x64 builds because they use different out directories. But, I have not tried it recently.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby ionian » Thu Aug 02, 2018 6:16 am

OK, I'll try to do a fresh checkout an do the 64bit build first and see how that goes.
Is there anything in particular I should do for checking out the code with the intent of doing a 64 bit build? I would imagine that part is the same, but just double checking.

Thanks,

Ionut
ionian
Newbie
 
Posts: 7
Joined: Wed Aug 01, 2018 8:04 am

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby ionian » Thu Aug 02, 2018 9:37 am

I'm afraid I didn't have better luck this time either.
I deleted everything and started over. What I found a bit strange this time was that when running

python d:\code\automate\automate-git.py --download-dir=D:\code\chromium_git\ --depot-tools-dir=D:\code\depot_tools --no-build --branch=3325

at he end it tried to create the binary distribution even though it didn't do the build, so that failed. Perhaps I need to add --no-distrib at the end although I don't remember having to force this unless I also used the --x64-build switch.

Anyways, after the checkout stage completed, I created the project files and went straight for the x64 Release build.

Running d:\code\chromium_git\chromium\src>ninja -C out/Release_GN_x64, also showed something interesting: 55082 actions to run, which I'm 100% certain I have never seen before. The max so far was 33k+

Here's the error output :

d:\code\chromium_git\chromium\src>ninja -C out/Release_GN_x64
ninja: Entering directory `out/Release_GN_x64'
[14037/55082] ACTION //third_party/dom_distiller...r_proto_gen(//build/toolchain/win:win_clang_x64)
FAILED: gen/third_party/dom_distiller_js/dom_distiller.pb.h gen/third_party/dom_distiller_js/dom_dis
tiller.pb.cc pyproto/third_party/dom_distiller_js/dom_distiller_pb2.py gen/third_party/dom_distiller
_js/dom_distiller_json_converter.h
D:/code/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../tools/protoc_wrapper/protoc_wrap
per.py dom_distiller.proto --protoc ./protoc.exe --proto-in-dir ../../third_party/dom_distiller_js/d
ist/proto --cc-out-dir gen/third_party/dom_distiller_js --py-out-dir pyproto/third_party/dom_distill
er_js --plugin ../../third_party/dom_distiller_js/protoc_plugins/json_values_converter.bat --plugin-
out-dir gen/third_party/dom_distiller_js --plugin-options output_dir=:
The system cannot find the path specified.
--plugin_out: protoc-gen-plugin: Plugin failed with status code 1.
Protoc has returned non-zero status: 1 .
[14046/55082] CXX obj/components/policy/chrome_s...o_generated_compile_proto/chrome_settings.pb.obj
ninja: build stopped: subcommand failed.

And here's the args.gn file:

clang_use_chrome_plugins=false
enable_basic_printing=true
enable_nacl=false
enable_print_preview=false
enable_widevine=true
ffmpeg_branding="Chrome"
is_component_build=false
is_debug=false
is_win_fastlink=true
proprietary_codecs=true
target_cpu="x64"


Can anyone see something wrong with it?

Thank you,
Ionut
ionian
Newbie
 
Posts: 7
Joined: Wed Aug 01, 2018 8:04 am

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby magreenblatt » Thu Aug 02, 2018 12:42 pm

ionian wrote:d:\code\chromium_git\chromium\src>ninja -C out/Release_GN_x64

Specify cef as the build target (`ninja -C out/Release_GN_x64 cef`) or it will attempt to build Chromium test targets and fail.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby ionian » Fri Aug 03, 2018 8:42 am

magreenblatt wrote:Specify cef as the build target (`ninja -C out/Release_GN_x64 cef`) or it will attempt to build Chromium test targets and fail.


You're right, I missed the build target on that ocasion. However, specifying it still had the build failing. Since yesterday, I have moved down to an older version and decided to try version 63, thinking that maybe there is a problem in 65. Still no luck doing the 64 bit build on the 63 either.

I used branch 3239:

set CEF_USE_GN=1
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GN_DEFINES=is_official_build=true is_win_fastlink=false proprietary_codecs=true ffmpeg_branding=Chrome enable_precompiled_headers=false
set GN_ARGUMENTS=--ide=vs2017 --sln=cef --filters=//cef/*
python d:\code\automate\automate-git.py --download-dir=D:\code\chromium_git\ --depot-tools-dir=D:\code\depot_tools --no-build --no-distrib --branch=3239 --x64-build

after that I created the project files and tried to build with the generated args.gn file that looked like this:

enable_basic_printing=true
enable_nacl=false
enable_print_preview=false
enable_widevine=true
ffmpeg_branding="Chrome"
is_component_build=false
is_debug=false
is_win_fastlink=true
proprietary_codecs=true
target_cpu="x64"

This resulted in the following error:

D:\code\chromium_git\chromium\src>ninja -C out/Release_GN_x64 cef
ninja: Entering directory `out/Release_GN_x64'
[7589/31876] ACTION //third_party/dom_distiller_...m_distiller_proto_gen(//build/toolchain/win:x64)
FAILED: gen/third_party/dom_distiller_js/dom_distiller.pb.h gen/third_party/dom_distiller_js/dom_dis
tiller.pb.cc pyproto/third_party/dom_distiller_js/dom_distiller_pb2.py gen/third_party/dom_distiller
_js/dom_distiller_json_converter.h
D:/code/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../tools/protoc_wrapper/protoc_wrap
per.py dom_distiller.proto --protoc ./protoc.exe --proto-in-dir ../../third_party/dom_distiller_js/d
ist/proto --cc-out-dir gen/third_party/dom_distiller_js --py-out-dir pyproto/third_party/dom_distill
er_js --plugin ../../third_party/dom_distiller_js/protoc_plugins/json_values_converter.bat --plugin-
out-dir gen/third_party/dom_distiller_js --plugin-options output_dir=:
The system cannot find the path specified.
--plugin_out: protoc-gen-plugin: Plugin failed with status code 1.
Protoc has returned non-zero status: 1 .
[7598/31876] CXX obj/third_party/cacheinvalidation/cacheinvalidation/invalidation-client-core.obj
ninja: build stopped: subcommand failed.

I then changed the args.gn file to this:

enable_basic_printing=true
enable_nacl=false
enable_print_preview=false
enable_widevine=true
ffmpeg_branding="Chrome"
is_component_build=true
is_debug=false
is_win_fastlink=false
proprietary_codecs=true
target_cpu="x64"

basically setting is_component_build to true and is_win_fastlink to false.

This caused the build to fail even quicker with the following error:


D:\code\chromium_git\chromium\src>ninja -C out/Release_GN_x64 cef
ninja: Entering directory `out/Release_GN_x64'
[1/1] Regenerating ninja files
[4326/28346] ACTION //third_party/dom_distiller_...verter_test_proto_gen(//build/toolchain/win:x64)
FAILED: gen/third_party/dom_distiller_js/test_sample.pb.h gen/third_party/dom_distiller_js/test_samp
le.pb.cc pyproto/third_party/dom_distiller_js/test_sample_pb2.py gen/third_party/dom_distiller_js/te
st_sample_json_converter.h
D:/code/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../tools/protoc_wrapper/protoc_wrap
per.py test_sample.proto --protoc ./protoc.exe --proto-in-dir ../../third_party/dom_distiller_js --c
c-out-dir gen/third_party/dom_distiller_js --py-out-dir pyproto/third_party/dom_distiller_js --plugi
n ../../third_party/dom_distiller_js/protoc_plugins/json_values_converter.bat --plugin-out-dir gen/t
hird_party/dom_distiller_js --plugin-options output_dir=:
The system cannot find the path specified.
--plugin_out: protoc-gen-plugin: Plugin failed with status code 1.
Protoc has returned non-zero status: 1 .
[4327/28346] ACTION //third_party/dom_distiller_...m_distiller_proto_gen(//build/toolchain/win:x64)
FAILED: gen/third_party/dom_distiller_js/dom_distiller.pb.h gen/third_party/dom_distiller_js/dom_dis
tiller.pb.cc pyproto/third_party/dom_distiller_js/dom_distiller_pb2.py gen/third_party/dom_distiller
_js/dom_distiller_json_converter.h
D:/code/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../tools/protoc_wrapper/protoc_wrap
per.py dom_distiller.proto --protoc ./protoc.exe --proto-in-dir ../../third_party/dom_distiller_js/d
ist/proto --cc-out-dir gen/third_party/dom_distiller_js --py-out-dir pyproto/third_party/dom_distill
er_js --plugin ../../third_party/dom_distiller_js/protoc_plugins/json_values_converter.bat --plugin-
out-dir gen/third_party/dom_distiller_js --plugin-options output_dir=:
The system cannot find the path specified.
--plugin_out: protoc-gen-plugin: Plugin failed with status code 1.
Protoc has returned non-zero status: 1 .
[4335/28346] CXX obj/third_party/cacheinvalidati...cheinvalidation_proto_cpp/client_protocol.pb.obj
ninja: build stopped: subcommand failed.

Did anyone managed to do a 64bit build on Windows for any of the more recent versions (63+) ? And if yes, did it work for you right out of the box using the instructions at https://bitbucket.org/chromiumembedded/ ... ckStart.md ? Or did you have to make any tweaks?

Thanks,
Ionut
ionian
Newbie
 
Posts: 7
Joined: Wed Aug 01, 2018 8:04 am

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby magreenblatt » Fri Aug 03, 2018 8:48 am

ionian wrote:D:\code\chromium_git\chromium\src>ninja -C out/Release_GN_x64 cef
ninja: Entering directory `out/Release_GN_x64'
[7589/31876] ACTION //third_party/dom_distiller_...m_distiller_proto_gen(//build/toolchain/win:x64)
FAILED: gen/third_party/dom_distiller_js/dom_distiller.pb.h gen/third_party/dom_distiller_js/dom_dis
tiller.pb.cc pyproto/third_party/dom_distiller_js/dom_distiller_pb2.py gen/third_party/dom_distiller
_js/dom_distiller_json_converter.h
D:/code/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../tools/protoc_wrapper/protoc_wrap
per.py dom_distiller.proto --protoc ./protoc.exe --proto-in-dir ../../third_party/dom_distiller_js/d
ist/proto --cc-out-dir gen/third_party/dom_distiller_js --py-out-dir pyproto/third_party/dom_distill
er_js --plugin ../../third_party/dom_distiller_js/protoc_plugins/json_values_converter.bat --plugin-
out-dir gen/third_party/dom_distiller_js --plugin-options output_dir=:
The system cannot find the path specified.
--plugin_out: protoc-gen-plugin: Plugin failed with status code 1.
Protoc has returned non-zero status: 1 .
[7598/31876] CXX obj/third_party/cacheinvalidation/cacheinvalidation/invalidation-client-core.obj
ninja: build stopped: subcommand failed.

What happens if you run the failing python.exe command directly?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby ionian » Fri Aug 03, 2018 9:46 am

magreenblatt wrote:What happens if you run the failing python.exe command directly?

Ok, I had to remove the ..\..\ part at the beginning of the script file path because now I manually run it from the src folder as opposed to the out/Release_GN_x64 folder , and the output was this

D:\code\chromium_git\chromium\src>D:\code\depot_tools\win_tools-2_7_6_bin\python\bin\python.exe tool
s\protoc_wrapper\protoc_wrapper.py dom_distiller.proto --protoc .\protoc.exe --proto-in-dir ..\..\th
ird_party\dom_distiller_js\dist\proto --cc-out-dir gen\third_party\dom_distiller_js --py-out-dir pyp
roto\third_party\dom_distiller_js --plugin ..\..\third_party\dom_distiller_js\protoc_plugins\json_va
lues_converter.bat --plugin-out-dir gen\third_party\dom_distiller_js --plugin-options output_dir=:
Traceback (most recent call last):
File "tools\protoc_wrapper\protoc_wrapper.py", line 142, in <module>
main(sys.argv)
File "tools\protoc_wrapper\protoc_wrapper.py", line 131, in main
ret = subprocess.call(protoc_cmd)
File "D:\code\depot_tools\win_tools-2_7_6_bin\python\bin\lib\subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "D:\code\depot_tools\win_tools-2_7_6_bin\python\bin\lib\subprocess.py", line 709, in __init__

errread, errwrite)
File "D:\code\depot_tools\win_tools-2_7_6_bin\python\bin\lib\subprocess.py", line 957, in _execute
_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

D:\code\chromium_git\chromium\src>
ionian
Newbie
 
Posts: 7
Joined: Wed Aug 01, 2018 8:04 am

Re: Failed building chromium 65.0.3325.181 64 bit on Windows

Postby Czarek » Fri Aug 03, 2018 10:04 am

Do not make any changes to script args otherwise you have to make changes to all args in regards to paths. Execute it from the `out/Release_GN_x64' directory.
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Next

Return to Support Forum

Who is online

Users browsing this forum: azathioprine and 95 guests