GitHub user twitu closed a discussion: Windows build fails in CI: `blake3_sse41_x86-64_windows_msvc.o(2) : fatal error A1009:line too long`
Windows build fails because blake3 fails to compile because of `fatal error A1009:line too long`. After a discussion with blake3 maintainer in https://github.com/BLAKE3-team/BLAKE3/issues/298#issuecomment-1492983299 it appears that it's because an incorrect compiler flag being passed. > It looks like whatever is calling MASM is using -o to specify the output file > instead of > [/Fo](https://learn.microsoft.com/en-us/cpp/assembler/masm/ml-and-ml64-command-line-reference?view=msvc-170#remarks). > With -o going unrecognized, it attempts to parse the .o file instead. **Have you encountered this issue before? Any suggested fixes?** blake3 is a dependency in the datafusion physical-expr crate which gets added along with datafusion into nautilus in https://github.com/nautechsystems/nautilus_trader/pull/997. I couldn't find any build script in the physical-expr crate. ``` blake3 v1.3.3 └── datafusion-physical-expr v21.0.0 ├── datafusion v21.0.0 │ └── nautilus_persistence v0.3.0 (/Users/twitu/Code/nautilus_trader/nautilus_core/persistence) │ └── nautilus_pyo3 v0.3.0 (/Users/twitu/Code/nautilus_trader/nautilus_core/pyo3) └── datafusion-optimizer v21.0.0 └── datafusion v21.0.0 (*) ``` Here's the error log and this is the [failed CI job](https://github.com/nautechsystems/nautilus_trader/actions/runs/4576437834/jobs/8080580567?pr=997) ``` error: failed to run custom build command for `blake3 v1.3.3` Caused by: process didn't exit successfully: `D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-b4598462dcc7d54b\build-script-build` (exit code: 1) --- stdout cargo:rerun-if-env-changed=CARGO_FEATURE_PURE cargo:rerun-if-env-changed=CARGO_FEATURE_NO_NEON 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("clang") 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 = None cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS CRATE_CC_NO_DEFAULTS = None OPT_LEVEL = Some("0") 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("clang") 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 = None cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS CRATE_CC_NO_DEFAULTS = None DEBUG = Some("false") cargo:warning=The C compiler "clang" does not support /arch:AVX512. cargo:rerun-if-env-changed=BLAKE3_CI cargo:rerun-if-env-changed=CARGO_FEATURE_PREFER_INTRINSICS cargo:rerun-if-env-changed=CARGO_FEATURE_PURE cargo:rustc-cfg=blake3_sse2_ffi cargo:rustc-cfg=blake3_sse41_ffi cargo:rustc-cfg=blake3_avx2_ffi TARGET = Some("x86_64-pc-windows-msvc") OPT_LEVEL = Some("0") 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("clang") 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 = None cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS CRATE_CC_NO_DEFAULTS = None DEBUG = Some("false") running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\ml64.exe" "-nologo" "-o" "D:\\a\\nautilus_trader\\nautilus_trader\\nautilus_core\\target\\debug\\build\\blake3-cf014bd07e6a332a\\out\\c/blake3_sse2_x86-64_windows_msvc.o" "-c" "c/blake3_sse2_x86-64_windows_msvc.asm" MASM : warning A4018:invalid command-line option : -o Assembling: D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-cf014bd07e6a332a\out\c/blake3_sse2_x86-64_windows_msvc.o D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-cf014bd07e6a332a\out\c/blake3_sse2_x86-64_windows_msvc.o(1) : error A2044:invalid character in file D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-cf014bd07e6a332a\out\c/blake3_sse2_x86-64_windows_msvc.o(1) : fatal error A1009:line too long exit code: 1 running: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\ml64.exe" "-nologo" "-o" "D:\\a\\nautilus_trader\\nautilus_trader\\nautilus_core\\target\\debug\\build\\blake3-cf014bd07e6a332a\\out\\c/blake3_sse41_x86-64_windows_msvc.o" "-c" "c/blake3_sse41_x86-64_windows_msvc.asm" MASM : warning A4018:invalid command-line option : -o Assembling: D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-cf014bd07e6a332a\out\c/blake3_sse41_x86-64_windows_msvc.o D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-cf014bd07e6a332a\out\c/blake3_sse41_x86-64_windows_msvc.o(1) : error A2044:invalid character in file D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-cf014bd07e6a332a\out\c/blake3_sse41_x86-64_windows_msvc.o(2) : error A2044:invalid character in file D:\a\nautilus_trader\nautilus_trader\nautilus_core\target\debug\build\blake3-cf014bd07e6a332a\out\c/blake3_sse41_x86-64_windows_msvc.o(2) : fatal error A1009:line too long exit code: 1 --- stderr error occurred: Command "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX64\\x64\\ml64.exe" "-nologo" "-o" "D:\\a\\nautilus_trader\\nautilus_trader\\nautilus_core\\target\\debug\\build\\blake3-cf014bd07e6a332a\\out\\c/blake3_sse2_x86-64_windows_msvc.o" "-c" "c/blake3_sse2_x86-64_windows_msvc.asm" with args "ml64.exe" did not execute successfully (status code exit code: 1). ``` GitHub link: https://github.com/apache/datafusion/discussions/5829 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
