difftastic icon indicating copy to clipboard operation
difftastic copied to clipboard

Crate fails to build on Windows

Open mattdkerr opened this issue 2 years ago • 3 comments

cargo install --locked difftastic Errors from the log output:

  vendored_parsers/tree-sitter-haskell-src\scanner.c(211): error C2146: syntax error: missing ')' before identifier 'vs'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(211): error C2061: syntax error: identifier 'vs'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(211): error C2059: syntax error: ';'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(211): error C2059: syntax error: ','
  vendored_parsers/tree-sitter-haskell-src\scanner.c(211): error C2059: syntax error: ')'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(301): error C2146: syntax error: missing ')' before identifier 's'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(301): error C2061: syntax error: identifier 's'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(301): error C2059: syntax error: ';'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(301): error C2059: syntax error: ','
  vendored_parsers/tree-sitter-haskell-src\scanner.c(301): error C2059: syntax error: ')'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(388): error C2146: syntax error: missing ')' before identifier 's'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(388): error C2061: syntax error: identifier 's'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(388): error C2059: syntax error: ';'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(388): error C2059: syntax error: ','
  vendored_parsers/tree-sitter-haskell-src\scanner.c(388): error C2059: syntax error: ')'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(644): error C2146: syntax error: missing ')' before identifier 'desc'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(644): error C2061: syntax error: identifier 'desc'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(644): error C2059: syntax error: ';'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(644): error C2059: syntax error: ')'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(644): error C2449: found '{' at file scope (missing function header?)
  vendored_parsers/tree-sitter-haskell-src\scanner.c(647): error C2059: syntax error: '}'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(695): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(706): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(758): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(779): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(806): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(808): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(849): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(853): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(898): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(937): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(951): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(970): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(990): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1005): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1015): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1039): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1072): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1063): error C2440: 'initializing': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1076): error C2440: 'initializing': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1106): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1115): error C2440: '=': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1117): error C2440: '=': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1143): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1231): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1239): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1343): error C2440: 'return': cannot convert from 'int' to 'Result'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1366): error C2440: ':': cannot convert from 'Result' to 'int'
  vendored_parsers/tree-sitter-haskell-src\scanner.c(1366): error C2440: 'return': cannot convert from 'int' to 'Result'
  exit code: 2

  --- stderr


  error occurred: Command "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.20.27508\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "vendored_parsers/tree-sitter-haskell-src" "/utf-8" "-FoC:\\Users\\mkerr\\AppData\\Local\\Temp\\cargo-installT4BqVp\\release\\build\\difftastic-d0c5b3b7b834d034\\out\\vendored_parsers/tree-sitter-haskell-src\\scanner.o" "-c" "vendored_parsers/tree-sitter-haskell-src\\scanner.c" with args "cl.exe" did not execute successfully (status code exit code: 2).

mattdkerr avatar Aug 07 '23 15:08 mattdkerr

Hmm, looks like your compiler doesn't like the restrict keyword?

Wilfred avatar Aug 07 '23 16:08 Wilfred

I'm guessing that it's trying to compile scanner.c in C++ mode for some reason.

Wilfred avatar Aug 08 '23 15:08 Wilfred

Does this still occur? I've just updated the cc crate which claims to have improved various compiler things.

That said, the Windows CI is passing, so I'm not sure how your setup differs.

Wilfred avatar Aug 23 '23 07:08 Wilfred

Can't reproduce, please feel free to reopen if you have a repro.

Wilfred avatar Apr 29 '24 05:04 Wilfred