Skip to content

Trouble compiling the library with MSVC on windows-2019 runner (Github actions) #5

@Arcticae

Description

@Arcticae

As listed in the title - i tried compiling the library on windows runner and it doesn't seem to work for me, some syntax errors are an issue. Stacktrace below:

2022-01-13T18:15:35.6342205Z Build started 1/13/2022 6:15:35 PM.
2022-01-13T18:15:35.9825767Z Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ALL_BUILD.vcxproj" on node 1 (default targets).
2022-01-13T18:15:35.9828090Z Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ALL_BUILD.vcxproj" (1) is building "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ZERO_CHECK.vcxproj" (2) on node 1 (default targets).
2022-01-13T18:15:35.9835247Z PrepareForBuild:
2022-01-13T18:15:35.9836058Z   Creating directory "x64\Debug\ZERO_CHECK\".
2022-01-13T18:15:35.9938410Z   Creating directory "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\".
2022-01-13T18:15:35.9999507Z InitializeBuildStatus:
2022-01-13T18:15:36.0000765Z   Creating "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
2022-01-13T18:15:36.1228924Z CustomBuild:
2022-01-13T18:15:36.1230165Z   Checking Build System
2022-01-13T18:15:36.2341628Z FinalizeBuildStatus:
2022-01-13T18:15:36.2343016Z   Deleting file "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
2022-01-13T18:15:36.2344895Z   Touching "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
2022-01-13T18:15:36.2352155Z Done Building Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ZERO_CHECK.vcxproj" (default targets).
2022-01-13T18:15:36.3763552Z Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ALL_BUILD.vcxproj" (1) is building "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\js\js_test.vcxproj" (3) on node 1 (default targets).
2022-01-13T18:15:36.3766495Z Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\js\js_test.vcxproj" (3) is building "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\crypto_c_exports.vcxproj" (4) on node 1 (default targets).
2022-01-13T18:15:36.3769063Z Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\crypto_c_exports.vcxproj" (4) is building "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj" (5) on node 1 (default targets).
2022-01-13T18:15:36.3770686Z PrepareForBuild:
2022-01-13T18:15:36.3771366Z   Creating directory "algebra.dir\Debug\".
2022-01-13T18:15:36.3785009Z   Creating directory "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\Debug\".
2022-01-13T18:15:36.3786683Z   Creating directory "algebra.dir\Debug\algebra.tlog\".
2022-01-13T18:15:36.3801309Z InitializeBuildStatus:
2022-01-13T18:15:36.3802513Z   Creating "algebra.dir\Debug\algebra.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
2022-01-13T18:15:36.4228828Z CustomBuild:
2022-01-13T18:15:36.4230808Z   Building Custom Rule D:/a/starknet.py/starknet.py/crypto-cpp/src/starkware/algebra/CMakeLists.txt
2022-01-13T18:15:36.5237727Z ClCompile:
2022-01-13T18:15:36.5240870Z   C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\CL.exe /c /I"D:\a\starknet.py\starknet.py\crypto-cpp\src" /Zi /nologo /W3 /WX /diagnostics:column /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"algebra.dir\Debug\\" /Fd"D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\Debug\algebra.pdb" /external:W3 /Gd /TP /errorReport:queue  -g "D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware\algebra\prime_field_element.cc"
2022-01-13T18:15:36.6053945Z cl : command line warning D9002: ignoring unknown option '-g' [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:36.6055867Z   prime_field_element.cc
2022-01-13T18:15:41.1409387Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,44): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.1716604Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,44): error C2737: 'starkware::__uint128_t': constexpr object must be initialized [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.1719041Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,25): error C2737: 'starkware::__uint128_t': constexpr object must be initialized [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.2125013Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,37): error C2146: syntax error: missing ';' before identifier 'Umul128' [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.2131837Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,69): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.2134116Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(19,22): error C2061: syntax error: identifier '__uint128_t' [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.2136741Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(20,1): warning C4508: 'starkware::Umul128': function should return a value; 'void' return type assumed [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.3345932Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/utils/math.h(24,15): error C3861: '__builtin_clzll': identifier not found [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.4101178Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/utils/math.h(21,25): error C3615: constexpr function 'starkware::Log2Floor' cannot result in a constant expression [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.4439982Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/utils/math.h(25): message : failure was caused by control reaching the end of a constexpr function [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.7106018Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware\algebra\prime_field_element.cc(9,32): error C2131: expression did not evaluate to a constant [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.7108539Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware\algebra\prime_field_element.cc(9,49): message : function violates 'constexpr' rules or has errors [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.7110943Z D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware\algebra\prime_field_element.cc(9,49): message : see usage of 'starkware::Log2Floor' [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8122365Z Done Building Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj" (default targets) -- FAILED.
2022-01-13T18:15:41.8615558Z Done Building Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\crypto_c_exports.vcxproj" (default targets) -- FAILED.
2022-01-13T18:15:41.8620430Z Done Building Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\js\js_test.vcxproj" (default targets) -- FAILED.
2022-01-13T18:15:41.8636275Z Done Building Project "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ALL_BUILD.vcxproj" (default targets) -- FAILED.
2022-01-13T18:15:41.8654208Z 
2022-01-13T18:15:41.8655826Z Build FAILED.
2022-01-13T18:15:41.8691179Z 
2022-01-13T18:15:41.8702752Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ALL_BUILD.vcxproj" (default target) (1) ->
2022-01-13T18:15:41.8704363Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\js\js_test.vcxproj" (default target) (3) ->
2022-01-13T18:15:41.8706018Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\crypto_c_exports.vcxproj" (default target) (4) ->
2022-01-13T18:15:41.8707483Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj" (default target) (5) ->
2022-01-13T18:15:41.8708465Z (ClCompile target) -> 
2022-01-13T18:15:41.8709572Z   cl : command line warning D9002: ignoring unknown option '-g' [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8711770Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(20,1): warning C4508: 'starkware::Umul128': function should return a value; 'void' return type assumed [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8713144Z 
2022-01-13T18:15:41.8713473Z 
2022-01-13T18:15:41.8714290Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\ALL_BUILD.vcxproj" (default target) (1) ->
2022-01-13T18:15:41.8715910Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\js\js_test.vcxproj" (default target) (3) ->
2022-01-13T18:15:41.8717355Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\crypto\ffi\crypto_c_exports.vcxproj" (default target) (4) ->
2022-01-13T18:15:41.8718792Z "D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj" (default target) (5) ->
2022-01-13T18:15:41.8719747Z (ClCompile target) -> 
2022-01-13T18:15:41.8721292Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,44): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8723948Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,44): error C2737: 'starkware::__uint128_t': constexpr object must be initialized [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8727349Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,25): error C2737: 'starkware::__uint128_t': constexpr object must be initialized [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8730472Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,37): error C2146: syntax error: missing ';' before identifier 'Umul128' [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8732989Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(18,69): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8735757Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/algebra/big_int.h(19,22): error C2061: syntax error: identifier '__uint128_t' [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8737996Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/utils/math.h(24,15): error C3861: '__builtin_clzll': identifier not found [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8743027Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware/utils/math.h(21,25): error C3615: constexpr function 'starkware::Log2Floor' cannot result in a constant expression [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8745820Z   D:\a\starknet.py\starknet.py\crypto-cpp\src\starkware\algebra\prime_field_element.cc(9,32): error C2131: expression did not evaluate to a constant [D:\a\starknet.py\starknet.py\crypto-cpp\build\Release\src\starkware\algebra\algebra.vcxproj]
2022-01-13T18:15:41.8749717Z 
2022-01-13T18:15:41.8750390Z     2 Warning(s)
2022-01-13T18:15:41.8750902Z     9 Error(s)
2022-01-13T18:15:41.8751262Z 
2022-01-13T18:15:41.8751720Z Time Elapsed 00:00:06.23

Any help in getting this to pass would be appreciated. Note that i'm not c++ expert - just trying to precompile the library to include it in starknet.py's wheels for windows

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions