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]

Reply via email to