Chromium build issue

503 views
Skip to first unread message

gz83

unread,
Jun 3, 2022, 6:39:16 PM6/3/22
to Chromium-dev
Hello, I want to cross-compile Chromium for Windows ARM under the Debian system. I encountered a lot of `clang: no input file` errors during the compilation process, which caused the compilation to be interrupted. How should I solve this problem?

I went to check the file that reported the error and found that the file `boringssl_prefix_symbols_asm.h` was referenced, but this file was not found in the chromium source code.

By the way, the error content is in the screenshot, please check.

283384504_343191214617890_3493486632219283335_n.png

Sergey Kipet

unread,
Jun 3, 2022, 7:03:29 PM6/3/22
to uiop...@gmail.com, Chromium-dev
Hi, it looks like a lack from some of the third_party libraries. Have you run 'gclient sync' before building your Chromium project instance?

BRs,
Sergey

сб, 4 июн. 2022 г. в 01:38, gz83 <uiop...@gmail.com>:
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/c0c286e0-5835-47c7-b808-6b59b7b412den%40chromium.org.


--
BRs,
Sergey Kipet

gz83

unread,
Jun 5, 2022, 10:51:30 AM6/5/22
to Chromium-dev, sergey...@gmail.com, Chromium-dev, gz83
Still can't compile normally

Bruce Dawson

unread,
Jun 6, 2022, 3:28:29 PM6/6/22
to Chromium-dev, gz83, sergey...@gmail.com, Chromium-dev
As the first reply said you probably haven't run gclient sync. That is what pulls down boring_ssl (or, technically, it pulls down third_party\boringssl\src).

If that doesn't resolve the issue then let us know what commit you are synced to and what gn args you are using. And, it is much better to select the text in the command prompt and paste that - a screenshot is non-accessible and non-searchable.

gz83

unread,
Jun 7, 2022, 12:52:18 AM6/7/22
to Chromium-dev, Bruce Dawson, gz83, sergey...@gmail.com, Chromium-dev
The error message during compilation is as follows

[12 processes, 5553/82966 @ 36.6/s : 151.679s ] ASM obj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj
FAILED: obj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj -DUSE_AURA=1 -DOFFICIAL_BUILD -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/aesv8-armx64.S
clang: error: no input files
[1 processes, 5564/82966 @ 35.8/s : 155.513s ] ACTION //third_p...indings:web_idl_database(//build/toolchain/win:win_clang_arm64)
ninja: build stopped: subcommand failed.
metric                  count   avg (us)        total (ms)
.ninja parse            8652    1507.1          13039.2
canonicalize str        8937258 0.1             1065.2
canonicalize path       8941957 0.1             617.0
lookup node             8902254 0.1             838.9
.ninja_log load         1       27.0            0.0
.ninja_deps load        1       2.0             0.0
node stat               213552  1.1             231.4
depfile load            358     8.9             3.2
StartEdge               5564    343.5           1911.0
FinishCommand           5564    432.5           2406.4
CLParser::Parse         1629    573.7           934.6

path->node hash load 0.74 (289993 entries / 393241 buckets)

After running gclient sync, there is still an error

[10 processes, 461/77404 @ 83.6/s : 5.516s ] ASM obj/third_party/boringssl/boringssl_asm/armv8-mont.obj
FAILED: obj/third_party/boringssl/boringssl_asm/armv8-mont.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/c
lang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/armv8-mont.obj -DUSE_AURA=1 -DOFFICIAL_BUILD -D_HAS_NO
DISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -D_
LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_A
UTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PA
RA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMI
NMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNO
TATIONS_ENABLED=0 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++ ../../third_party
/boringssl/win-aarch64/crypto/fipsmodule/armv8-mont.S
clang: error: no input files
[1 processes, 470/77404 @ 68.7/s : 6.844s ] ACTION //services/n...l_loader_base__generator(//build/toolchain/win:win_clang_arm64)
ninja: build stopped: subcommand failed.
metric count avg (us) total (ms)
.ninja parse 17304 1746.2 30216.4
canonicalize str 16684060 0.1 1889.5
canonicalize path 16693825 0.1 1104.7
lookup node 16705153 0.1 1749.8
.ninja_log load 2 3755.0 7.5
.ninja_deps load 2 4609.5 9.2
node stat 202109 0.8 159.7
depfile load 359 19.8 7.1
StartEdge 471 580.4 273.3
FinishCommand 471 254.1 119.7
CLParser::Parse 125 209.0 26.1
path->node hash load 0.74 (290484 entries / 393241 buckets)

Here are the commits I chose when compiling

Previous HEAD position was ffbf3a3c85 Version 10.4.126
HEAD is now at cd6afec260 [v8] Fix data race in TRACE_EVENT macros in cppgc
HEAD is now at 83a7fcae85a46 Updating trunk VERSION from 5106.0 to 5107.0

 The args.gn I am using is as follows

google_api_key = ""
google_default_client_id = ""
google_default_client_secret = ""
target_os = "win"
target_cpu = "arm64"
enable_stripping = true
is_official_build = true
is_debug = false
dcheck_always_on = false
exclude_unwind_tables = true
# enable_debugallocation = false
enable_iterator_debugging = false
disable_fieldtrial_testing_config = true
enable_resource_allowlist_generation = false
enable_profiling = false
is_component_build = false
symbol_level = 0
optimize_webui = true
enable_webui_tab_strip = true
use_lld = true
v8_symbol_level = 0
use_v8_context_snapshot = true
enable_nacl = false
blink_symbol_level = 0
enable_precompiled_headers = false
media_use_ffmpeg = true
media_use_libvpx = true
enable_hls_sample_aes = true
enable_hls_demuxer = true
enable_ink = false
enable_discovery = true
enable_cros_media_app = false
proprietary_codecs = true
ffmpeg_branding = "Chrome"
enable_ffmpeg_video_decoders = true
is_component_ffmpeg = false
use_webaudio_ffmpeg = false
use_webaudio_pffft = true
use_vr_assets_component = true
enable_widevine = true
bundle_widevine_cdm = false
enable_media_drm_storage = true
enable_media_overlay = true
enable_hangout_services_extension = true
rtc_use_h264 = true
rtc_include_ilbc = true
rtc_build_examples = false
rtc_build_with_neon = true
enable_vr = true
enable_platform_hevc = true
enable_hevc_parser_and_hw_decoder = true
enable_platform_ac3_eac3_audio = true
enable_platform_dolby_vision = true
enable_platform_mpeg_h_audio = true
enable_mse_mpeg2ts_stream_parser = true
use_thin_lto = true
thin_lto_enable_optimizations = true
chrome_pgo_phase = 2
pgo_data_path = "/root/chromium/src/chrome/build/pgo_profiles/chrome-win64-main-1654559966-03f9a2ba641747f561b1e561dc06c1b8b46a9c2f.profdata"

Takuto Ikuta

unread,
Jun 7, 2022, 1:00:03 AM6/7/22
to uiop...@gmail.com, Chromium-dev, Bruce Dawson, sergey...@gmail.com
Do you have third_party/boringssl/win-aarch64/crypto/fipsmodule/armv8-mont.S in your checkout?

gz83

unread,
Jun 7, 2022, 1:06:08 AM6/7/22
to Chromium-dev, tik...@chromium.org, Chromium-dev, Bruce Dawson, sergey...@gmail.com, gz83
I went to this directory to have a look, these files are in it, please see the screenshot below
2022-06-07_130352.png
And I found that the error should be caused by the files in this directory

Bruce Dawson

unread,
Jun 7, 2022, 10:12:57 AM6/7/22
to gz83, Chromium-dev, tik...@chromium.org, sergey...@gmail.com
Thank you for confirming that you have run gclient sync.

For the commits the one that matters is the one in the Chromium directory - 83a7fcae85a46. I'm not sure what the other commits you list are, but the Chromium commit determines what commit the other repos are synchronized to - that's what gclient sync does - so that is the important one.

I notice that you have 59 gn args. That is a lot of customization. Where did you get those from? It is quite possible that you have created an impossible combination of arguments that isn't tested or supported, and is cumbersome for others to test.

I would start by building the Chrome target with no gn args. Then try setting target_cpu = "arm64", and then add more as needed. That may help you understand which gn args are causing the incompatibility.

I know that some builders use large numbers of gn args. Personally I usually use a half-dozen or so. I would be interested in knowing where you got that set from.

TL;DR - try building with simpler gn args, and maybe let us know why you have so many gn args.
--
Bruce Dawson, he/him

Bruce Dawson

unread,
Jun 7, 2022, 10:51:49 AM6/7/22
to Chromium-dev, Bruce Dawson, Chromium-dev, tik...@chromium.org, sergey...@gmail.com, gz83
I tested with these two gn args:

    target_os = "win"
    target_cpu = "arm64"

I found that this build command succeeded:

    ninja -v -C out\aes_test obj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj

However I am building on Windows which is simpler than cross-compiling. FWIW, the command to assemble that .S file (as printed by ninja -v) was:

[1 processes, 1/1 @ 3.6/s : 0.279s ] c:/src/depot_tools/bootstrap-2@3_8_10_chromium_23_bin/python3/bin/python3.exe ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ..\..\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS "-DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\"" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/aesv8-armx64.S

I couldn't reproduce your particular error message and there are too many gn args for me to want to experiment much, but I think you should start there. Cross compiling does add a lot of complexity, and so does having 59 gn args, so I would try to reduce that complexity as much as possible.

Reminder: please don't send screen shots - it's difficult to accurately look for file names in them.

gz83

unread,
Jun 7, 2022, 11:16:29 AM6/7/22
to Chromium-dev, Bruce Dawson, Chromium-dev, tik...@chromium.org, sergey...@gmail.com, gz83

Thanks for your guidance, I will reduce the number of gn args for further compilation and testing.

Nico Weber

unread,
Jun 7, 2022, 11:18:26 AM6/7/22
to Bruce Dawson, Chromium-dev, tik...@chromium.org, sergey...@gmail.com, gz83
Since I haven't seen it mentioned above: Did you follow https://source.chromium.org/chromium/chromium/src/+/main:docs/win_cross.md?q=win_cross.md ? (In particular, the ".gclient setup" -- if you haven't, re-run `gclient sync` after doing that step.)

gz83

unread,
Jun 7, 2022, 11:24:41 AM6/7/22
to Chromium-dev, Nico Weber, Chromium-dev, tik...@chromium.org, sergey...@gmail.com, gz83, Bruce Dawson
I have already done these, I will try to reduce the number of gn args later to see if it can compile successfully.

gz83

unread,
Jun 7, 2022, 8:56:24 PM6/7/22
to Chromium-dev, gz83, Nico Weber, Chromium-dev, tik...@chromium.org, sergey...@gmail.com, Bruce Dawson
I used the following two gn args to compile, and found that it still failed to compile

   target_os = "win"
   target_cpu = "arm64"

error message

root@Debian ~/chromium/src # autoninja -C ~/chromium/src/out/chromium chrome -j12
/root/depot_tools/ninja -C /root/chromium/src/out/chromium chrome -j12 -d stats
ninja: Entering directory `/root/chromium/src/out/chromium'
[12 processes, 1/53382 @ 27.2/s : 0.037s ] ASM obj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj
FAILED: obj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/aesv8-armx64.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/aesv8-armx64.S

clang: error: no input files
[11 processes, 2/53382 @ 54.4/s : 0.037s ] ASM obj/third_party/boringssl/boringssl_asm/chacha-armv8.obj
FAILED: obj/third_party/boringssl/boringssl_asm/chacha-armv8.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/chacha-armv8.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/chacha/chacha-armv8.S

clang: error: no input files
[10 processes, 3/53382 @ 81.3/s : 0.037s ] ASM obj/third_party/boringssl/boringssl_asm/ghash-neon-armv8.obj
FAILED: obj/third_party/boringssl/boringssl_asm/ghash-neon-armv8.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/ghash-neon-armv8.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/ghash-neon-armv8.S

clang: error: no input files
[9 processes, 4/53382 @ 107.7/s : 0.037s ] ASM obj/third_party/boringssl/boringssl_asm/sha1-armv8.obj
FAILED: obj/third_party/boringssl/boringssl_asm/sha1-armv8.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/sha1-armv8.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/sha1-armv8.S

clang: error: no input files
[8 processes, 5/53382 @ 134.5/s : 0.037s ] ASM obj/third_party/boringssl/boringssl_asm/chacha20_poly1305_armv8.obj
FAILED: obj/third_party/boringssl/boringssl_asm/chacha20_poly1305_armv8.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/chacha20_poly1305_armv8.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8.S

clang: error: no input files
[7 processes, 6/53382 @ 158.8/s : 0.038s ] ASM obj/third_party/boringssl/boringssl_asm/armv8-mont.obj
FAILED: obj/third_party/boringssl/boringssl_asm/armv8-mont.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/armv8-mont.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/armv8-mont.S

clang: error: no input files
[6 processes, 7/53382 @ 185.2/s : 0.038s ] ASM obj/third_party/boringssl/boringssl_asm/ghashv8-armx64.obj
FAILED: obj/third_party/boringssl/boringssl_asm/ghashv8-armx64.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/ghashv8-armx64.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/ghashv8-armx64.S

clang: error: no input files
[5 processes, 8/53382 @ 211.5/s : 0.038s ] ASM obj/third_party/boringssl/boringssl_asm/sha256-armv8.obj
FAILED: obj/third_party/boringssl/boringssl_asm/sha256-armv8.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/sha256-armv8.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/sha256-armv8.S

clang: error: no input files
[4 processes, 9/53382 @ 237.9/s : 0.038s ] ASM obj/third_party/boringssl/boringssl_asm/vpaes-armv8.obj
FAILED: obj/third_party/boringssl/boringssl_asm/vpaes-armv8.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/vpaes-armv8.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/vpaes-armv8.S

clang: error: no input files
[3 processes, 10/53382 @ 264.2/s : 0.038s ] ASM obj/third_party/boringssl/boringssl_asm/p256-armv8-asm.obj
FAILED: obj/third_party/boringssl/boringssl_asm/p256-armv8-asm.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/p256-armv8-asm.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/p256-armv8-asm.S

clang: error: no input files
[2 processes, 11/53382 @ 289.9/s : 0.038s ] ASM obj/third_party/boringssl/boringssl_asm/sha512-armv8.obj
FAILED: obj/third_party/boringssl/boringssl_asm/sha512-armv8.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/sha512-armv8.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/sha512-armv8.S

clang: error: no input files
[1 processes, 12/53382 @ 293.2/s : 0.041s ] ASM obj/third_party/boringssl/boringssl_asm/p256_beeu-armv8-asm.obj
FAILED: obj/third_party/boringssl/boringssl_asm/p256_beeu-armv8-asm.obj
python3 ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 ../../third_party/llvm-build/Release+Asserts/bin/clang-cl --target=arm64-windows -c -oobj/third_party/boringssl/boringssl_asm/p256_beeu-armv8-asm.obj -DDCHECK_ALWAYS_ON=1 -DUSE_AURA=1 -D_HAS_NODISCARD -D_CRT_NONSTDC_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -DCR_CLANG_REVISION=\"llvmorg-15-init-11722-g3f3a235a-2\" -DCOMPONENT_BUILD -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_ABI_VERSION=2 -D_LIBCPP_ENABLE_NODISCARD -D_LIBCPP_NO_AUTO_LINK -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_FE -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -I../../third_party/boringssl/src/include -I../.. -Igen -I../../buildtools/third_party/libc++  ../../third_party/boringssl/win-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm.S

clang: error: no input files
ninja: build stopped: subcommand failed.
metric                  count   avg (us)        total (ms)
.ninja parse            7057    787.0           5554.2
canonicalize str        3289352 0.1             365.1
canonicalize path       3293918 0.1             209.2
lookup node             3297125 0.1             271.5
.ninja_log load         1       3062.0          3.1
.ninja_deps load        1       2244.0          2.2
node stat               143555  0.8             108.9
depfile load            158     19.3            3.1
StartEdge               12      124.2           1.5
FinishCommand           12      19.6            0.2

path->node hash load 0.62 (243979 entries / 393241 buckets)

Bruce Dawson

unread,
Jun 8, 2022, 12:29:26 AM6/8/22
to gz83, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com
The next question would be whether you can build for a more common target_cpu such as target_cpu = "x64". While I'm sure Chromium should cross-compile from Linux for arm64 this is not something that is tested. In fact, building Chromium for arm64 on Windows is only moderately (patches-welcome?) supported, and cross-compiling is less supported than that. Note that Chrome does not ship in this variant.

That is, if "x64" builds and "arm64" does not then you may have found a bug, or missing steps in our instructions, and you may have to investigate how to fix it. I'm not aware of anybody else doing this.

FWIW, the FYI builder for arm64 on Windows is here: https://ci.chromium.org/p/chromium/builders/ci/win32-arm64-rel. Browsing that shows me that the build has been broken more often than not lately, even when compiling on Windows.
--
Bruce Dawson, he/him

gz83

unread,
Jun 8, 2022, 1:21:32 AM6/8/22
to Chromium-dev, Bruce Dawson, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com, gz83
I can compile common target_cpu versions, such as target_cpu="x64", and I will try to cross compile with windows system later.

By the way, the file `boringssl_prefix_symbols_asm.h` is very interesting to me. It is referenced in some files, but I can't find it in the chromium code search. Do I need to use this file when compiling the arm64 version?

Bruce Dawson

unread,
Jun 8, 2022, 12:47:38 PM6/8/22
to gz83, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com
It sounds like you are the first person to try cross compiling Chromium for ARM64 Windows. If you figure out how to make it work then patches are welcome.

It looks like that header file is only included if BORINGSSL_PREFIX is defined. My assumption is that some projects that use boringssl need a prefix and they then define that symbol and supply the file. I don't know what the file looks like - you're on your own there as well.
--
Bruce Dawson, he/him

Alex Frick

unread,
Jun 17, 2022, 1:17:33 PM6/17/22
to Chromium-dev, Bruce Dawson, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com, gz83
The reason he has so many args is that is what Thorium uses. Thorium is a chromium fork I make for windows, linux, macos, and raspi. >  https://thorium.rocks/  &  https://github.com/Alex313031/Thorium 
gz83 is a friend who helps me build the windows releases.
I have been using those args.gn successfully for all these platforms for months now. It only occurs on win on arm, and as per above seems to happen even when only the bare minimum is set i.e. target_cpu = "arm64"

Bruce Dawson

unread,
Jun 17, 2022, 2:27:26 PM6/17/22
to Alex Frick, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com, gz83
As I said:

> It sounds like you are the first person to try cross compiling Chromium for ARM64 Windows. If you figure out how to make it work then patches are welcome.

Chrome itself doesn't ship for ARM64 Windows. Cross-compiling adds another layer of unsupported. So, I'm not surprised that it doesn't work at this point.

In general the more gn args you have the more likely it is that you will be using untested combinations, and therefore the more likely it is that you will find bugs, and perhaps have to fix them.
--
Bruce Dawson, he/him

gz83

unread,
Jun 24, 2022, 9:22:19 AM6/24/22
to Chromium-dev, Bruce Dawson, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com, gz83, frick...@gmail.com
After I installed the arm dependency package, the problem of boringssl has been solved, but now I have encountered a new problem. The specific error is as follows.

/root/depot_tools/ninja -C /root/chromium/src/out/chromium chrome chromedriver content_shell setup mini_installer -j12 -d stats
ninja: Entering directory `/root/chromium/src/out/chromium'
[1 processes, 1/10 @ 0.3/s : 3.063s ] LINK(DLL) chrome.dll chrome.dll.lib chrome.dll.pdb
FAILED: chrome.dll chrome.dll.lib chrome.dll.pdb
../../third_party/llvm-build/Release+Asserts/bin/lld-link --rsp-quoting=posix /OUT:./chrome.dll /nologo -libpath:../../third_party/llvm -build/Release+Asserts/lib/clang/15.0.0/lib/windows /winsysroot:../../third_party/depot_tools/win_toolchain/vs_files/43f51ac59d /MACHINE:ARM64 /IMPLIB:./chrome.dll.lib /DLL /PDB:./chrome.dll.pdb @./chrome.dll.rsp
lld-link: error: undefined symbol: cpuinfo_isa
>>> referenced by .\..\..\third_party\cpuinfo\src\include\cpuinfo.h:1724
>>> obj/third_party/ruy/ruy_cpuinfo/cpuinfo.obj:(bool __cdecl cpuinfo_has_arm_neon_dot(void))
>>> referenced by .\..\..\third_party\cpuinfo\src\include\cpuinfo.h:1724
>>> obj/third_party/ruy/ruy_cpuinfo/cpuinfo.obj:(bool __cdecl cpuinfo_has_arm_neon_dot(void))

ninja: build stopped: subcommand failed.
metric count avg (us) total (ms)
.ninja parse 7157 797.6 5708.5
canonicalize str 3344348 0.1 375.4
canonicalize path 3357271 0.1 218.2
lookup node 3460056 0.1 306.1
.ninja_log load 1 53646.0 53.6
.ninja_deps load 1 152011.0 152.0
node stat 189296 1.2 218.2
depfile load 161 53.2 8.6
StartEdge 1 992.0 1.0
FinishCommand 1 65.0 0.1

path->node hash load 0.73 (285121 entries / 393241 buckets)

Bruce Dawson

unread,
Jun 24, 2022, 11:26:24 AM6/24/22
to gz83, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com, frick...@gmail.com
I just checked the Win32 ARM64 builder here:

https://ci.chromium.org/p/chromium/builders/ci/win32-arm64-rel

It shows that the build is indeed currently broken with that error, and has been for at least a couple of hundred builds (at least about eight days). You could try bisecting to find when the break occurred, or use other methods to track down the problem (looking at the history of related files) or you could wait for somebody to land a fix.

--
Bruce Dawson, he/him

gz83

unread,
Jun 24, 2022, 11:51:44 AM6/24/22
to Chromium-dev, Bruce Dawson, Chromium-dev, Nico Weber, tik...@chromium.org, sergey...@gmail.com, frick...@gmail.com, gz83
OK, thank you.
Reply all
Reply to author
Forward
0 new messages