Wasm-bindgen default toolchain fails to build due to MAX_PATH issues when invoking msvc's cl.exe. I can't find any way to get around that issue. Could the path be shortened in some way?
MODULE.bazel:
RUST_EDITION = "2021"
RUST_VERSION = "1.79.0"
bazel_dep(name = "rules_rust", version = "0.49.1")
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(edition = RUST_EDITION, versions = [RUST_VERSION])
use_repo(rust, "rust_toolchains")
register_toolchains("@rust_toolchains//:all")
register_toolchains("@rules_rust//wasm_bindgen:default_wasm_bindgen_toolchain")
# not exposed for bzlmod, just use a private for now
register_toolchains("@rules_rust//rust/private/dummy_cc_toolchain:dummy_cc_wasm32_toolchain")
crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate")
crate.from_cargo(
name = "crates",
cargo_lockfile = "//:Cargo.lock",
cargo_config = "//:.cargo/config.toml",
manifests = [
"//:Cargo.toml",
"//packages/wasmlib:Cargo.toml",
],
)
use_repo(crate, "crates")
➜ bazel build //packages/wasmlib:wasm_lib
INFO: Invocation ID: cd207d85-ae7e-49c7-8fb8-406fc10deced
WARNING: Build option --toolchain_resolution_debug has changed, discarding analysis cache (this can be expensive, see https://bazel.build/advanced/performance/iteration-speed).
INFO: Analyzed target //packages/wasmlib:wasm_lib (265 packages loaded, 7408 targets configured).
ERROR: C:/bzl/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/BUILD.bazel:180:19: Running Cargo build script ring [for tool] failed: (Exit 1): cargo_build_script_runner.exe failed: error executing CargoBuildScriptRun command (from target @@rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5//:_bs)
cd /d C:/bzl/execroot/_main
SET AR=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/HostX64/x64/lib.exe
SET CARGO_CRATE_NAME=ring
SET CARGO_ENCODED_RUSTFLAGS=--sysroot=${pwd}/bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~rust~rust_windows_x86_64__x86_64-pc-windows-msvc__stable_tools/rust_toolchain\x1f--cap-lints=allow
SET CARGO_FEATURE_ALLOC=1
SET CARGO_FEATURE_DEFAULT=1
SET CARGO_FEATURE_DEV_URANDOM_FALLBACK=1
SET CARGO_MANIFEST_DIR=bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs_.exe.runfiles/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/
SET CARGO_MANIFEST_LINKS=ring_core_0_17_5
SET CARGO_PKG_NAME=ring
SET CARGO_PKG_VERSION=0.17.5
SET CARGO_PKG_VERSION_MAJOR=0
SET CARGO_PKG_VERSION_MINOR=17
SET CARGO_PKG_VERSION_PATCH=5
SET CARGO_PKG_VERSION_PRE=
SET CC=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/HostX64/x64/cl.exe
SET CFLAGS=/nologo /DCOMPILER_MSVC /DNOMINMAX /D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250 /wd4996 /showIncludes /MD /O2 /Oy- /DNDEBUG /wd4117 -D__DATE__="redacted" -D__TIMESTAMP__="redacted" -D__TIME__="redacted" /Gy /Gw
SET CXX=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/HostX64/x64/cl.exe
SET CXXFLAGS=/nologo /DCOMPILER_MSVC /DNOMINMAX /D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250 /wd4996 /showIncludes /MD /O2 /Oy- /DNDEBUG /wd4117 -D__DATE__="redacted" -D__TIMESTAMP__="redacted" -D__TIME__="redacted" /Gy /Gw
SET DEBUG=false
SET HOST=x86_64-pc-windows-msvc
SET INCLUDE=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include;C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um
SET LD=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/HostX64/x64/link.exe
SET LDFLAGS=/nologo /SUBSYSTEM:CONSOLE advapi32.lib ws2_32.lib userenv.lib Bcrypt.lib /MACHINE:X64 /DEFAULTLIB:msvcrt.lib /OPT:ICF /OPT:REF
SET LIB=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\lib\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\lib\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22621.0\\um\x64
SET NUM_JOBS=1
SET OPT_LEVEL=3
SET PATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX64\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCPackages;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\\x64;C:\Program Files (x86)\Windows Kits\10\bin\\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\\MSBuild\Current\Bin\amd64;C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\;;C:\WINDOWS\system32;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\bin\ConnectionManagerExe;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\vcpkg
SET PROFILE=release
SET RUSTC=bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~rust~rust_windows_x86_64__x86_64-pc-windows-msvc__stable_tools/rust_toolchain/bin/rustc.exe
SET TARGET=x86_64-pc-windows-msvc
SET TEMP=C:\Users\Frizi\AppData\Local\Temp
SET TMP=C:\Users\Frizi\AppData\Local\Temp
bazel-out\x64_windows-opt-exec-ST-d57f47055a04\bin\external\rules_rust~\cargo\cargo_build_script_runner\cargo_build_script_runner.exe bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs_.exe ring_core_0_17_5 bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.out_dir bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.env bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.flags bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.linkflags bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.linksearchpaths bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.depenv bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.stdout.log bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.stderr.log
# Configuration: a196221f9a68c2820d15302c9bef8e3fbd8d5f147eacd0180e7deff4b4900fce
# Execution platform: @@platforms//host:host
Build script process failed with exit code 1
--stdout:
cargo:rerun-if-env-changed=RING_PREGENERATE_ASM
cargo:rustc-env=RING_CORE_PREFIX=ring_core_0_17_5_
OPT_LEVEL = Some("3")
TARGET = Some("x86_64-pc-windows-msvc")
HOST = Some("x86_64-pc-windows-msvc")
cargo:rerun-if-env-changed=CC_x86_64-pc-windows-msvc
CC_x86_64-pc-windows-msvc = None
cargo:rerun-if-env-changed=CC_x86_64_pc_windows_msvc
CC_x86_64_pc_windows_msvc = None
cargo:rerun-if-env-changed=HOST_CC
HOST_CC = None
cargo:rerun-if-env-changed=CC
CC = Some("C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/HostX64/x64/cl.exe")
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("cmpxchg16b,fxsr,sse,sse2,sse3")
DEBUG = Some("false")
cargo:rerun-if-env-changed=CFLAGS_x86_64-pc-windows-msvc
CFLAGS_x86_64-pc-windows-msvc = None
cargo:rerun-if-env-changed=CFLAGS_x86_64_pc_windows_msvc
CFLAGS_x86_64_pc_windows_msvc = None
cargo:rerun-if-env-changed=HOST_CFLAGS
HOST_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = Some("/nologo /DCOMPILER_MSVC /DNOMINMAX /D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250 /wd4996 /showIncludes /MD /O2 /Oy- /DNDEBUG /wd4117 -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" /Gy /Gw")
running: "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/HostX64/x64/cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "/nologo" "/DCOMPILER_MSVC" "/DNOMINMAX" "/D_WIN32_WINNT=0x0601" "/D_CRT_SECURE_NO_DEPRECATE" "/D_CRT_SECURE_NO_WARNINGS" "/bigobj" "/Zm500" "/EHsc" "/wd4351" "/wd4291" "/wd4250" "/wd4996" "/showIncludes" "/MD" "/O2" "/Oy-" "/DNDEBUG" "/wd4117" "-D__DATE__=\"redacted\"" "-D__TIMESTAMP__=\"redacted\"" "-D__TIME__=\"redacted\"" "/Gy" "/Gw" "-I" "include" "-I" "C:\\bzl\\execroot\\_main\\bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.out_dir" "/Gy" "/Zc:wchar_t" "/Zc:forScope" "/Zc:inline" "/Wall" "/wd4127" "/wd4464" "/wd4514" "/wd4710" "/wd4711" "/wd4820" "/wd5045" "-DNDEBUG" "-FoC:\\bzl\\execroot\\_main\\bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.out_dir\\crypto/curve25519/curve25519.o" "-c" "crypto/curve25519/curve25519.c"
curve25519.c
Note: including file: include\ring-core/mem.h
Note: including file: include\ring-core/base.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\stddef.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt.h
Note: including file: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\vcruntime.h
Note: including file: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\sal.h
Note: including file: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\concurrencysal.h
Note: including file: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\vadefs.h
Note: including file: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\stdint.h
Note: including file: include\ring-core/target.h
Note: including file: C:\bzl\execroot\_main\bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.out_dir\ring_core_generated/prefix_symbols.h
Note: including file: include\ring-core/type_check.h
Note: including file: include\ring-core/base.h
Note: including file: C:\bzl\execroot\_main\bazel-out\x64_windows-opt-exec-ST-d57f47055a04\bin\external\rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5\_bs_.exe.runfiles\rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5\crypto\curve25519\internal.h
Note: including file: C:\bzl\execroot\_main\bazel-out\x64_windows-opt-exec-ST-d57f47055a04\bin\external\rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5\_bs_.exe.runfiles\rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5\crypto\curve25519\../internal.h
Note: including file: include\ring-core/check.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\assert.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\stdlib.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_malloc.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_search.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_wstdlib.h
Note: including file: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\limits.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\string.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_memory.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_memcpy_s.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\errno.h
Note: including file: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\vcruntime_string.h
Note: including file: C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_wstring.h
Note: including file: C:\bzl\execroot\_main\bazel-out\x64_windows-opt-exec-ST-d57f47055a04\bin\external\rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5\_bs_.exe.runfiles\rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5\crypto\curve25519\./curve25519_tables.h
crypto/curve25519/curve25519.c(52): fatal error C1083: Cannot open include file: '../../third_party/fiat/curve25519_64_msvc.h': No such file or directory
exit code: 2
--stderr:
error occurred: Command "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/HostX64/x64/cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "/nologo" "/DCOMPILER_MSVC" "/DNOMINMAX" "/D_WIN32_WINNT=0x0601" "/D_CRT_SECURE_NO_DEPRECATE" "/D_CRT_SECURE_NO_WARNINGS" "/bigobj" "/Zm500" "/EHsc" "/wd4351" "/wd4291" "/wd4250" "/wd4996" "/showIncludes" "/MD" "/O2" "/Oy-" "/DNDEBUG" "/wd4117" "-D__DATE__=\"redacted\"" "-D__TIMESTAMP__=\"redacted\"" "-D__TIME__=\"redacted\"" "/Gy" "/Gw" "-I" "include" "-I" "C:\\bzl\\execroot\\_main\\bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.out_dir" "/Gy" "/Zc:wchar_t" "/Zc:forScope" "/Zc:inline" "/Wall" "/wd4127" "/wd4464" "/wd4514" "/wd4710" "/wd4711" "/wd4820" "/wd5045" "-DNDEBUG" "-FoC:\\bzl\\execroot\\_main\\bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/rules_rust~~i~rules_rust_wasm_bindgen__ring-0.17.5/_bs.out_dir\\crypto/curve25519/curve25519.o" "-c" "crypto/curve25519/curve25519.c" with args "cl.exe" did not execute successfully (status code exit code: 2).
Target //packages/wasmlib:wasm_lib failed to build
INFO: Elapsed time: 3.141s, Critical Path: 0.51s
INFO: 9 processes: 9 internal.
ERROR: Build did NOT complete successfully
The file that supposedly "doesn't exist" actually do exist. It's just that the long header file path combined with the relative path in #include overflows MAX_PATH, making cl.exe barf out a nonsense exit code.
Wasm-bindgen default toolchain fails to build due to MAX_PATH issues when invoking msvc's
cl.exe
. I can't find any way to get around that issue. Could the path be shortened in some way?MODULE.bazel:
packages/wasmlib/BUILD.bazel:
error log:
The file that supposedly "doesn't exist" actually do exist. It's just that the long header file path combined with the relative path in
#include
overflows MAX_PATH, makingcl.exe
barf out a nonsense exit code.