migueldeicaza / SwiftGodot

New Godot bindings for Swift
https://migueldeicaza.github.io/SwiftGodotDocs/tutorials/swiftgodot-tutorials/
MIT License
981 stars 56 forks source link

Follow-up: Report bug to Swift.org; Cannot build project on windows #299

Open Airyzz opened 6 months ago

Airyzz commented 6 months ago

When attempting to build a project on windows, It throws a ton of lld-link warnings, and eventually fails:

note, I didn't include all lld-link warnings, because there are thousands of them

lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\AbstractSourceLocation.swift.o: locally defined symbol imported: $s11SwiftSyntax11TriviaPieceON (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntax.build\generated\TriviaPieces.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\AbstractSourceLocation.swift.o: locally defined symbol imported: $s11SwiftSyntax6TriviaV12arrayLiteralAcA0C5PieceOd_tcfC (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntax.build\Trivia.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\AbstractSourceLocation.swift.o: locally defined symbol imported: $s11SwiftSyntax04ExprB0VMn (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntax.build\generated\SyntaxBaseNodes.swift.o) [LNK4217]lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics9MessageIDV6domain2idACSS_SStcfC (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Message.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics0B5ErrorVN (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Diagnostic.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics10DiagnosticVN (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Diagnostic.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s11SwiftSyntax0B0VyACxcAA0B8ProtocolRzlufC (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntax.build\Syntax.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s11SwiftSyntax0B0VN (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntax.build\Syntax.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics10DiagnosticV4node8position7message10highlights5notes6fixItsACx_0A6Syntax16AbsolutePositionVSgAA0C7Message_pSayAJ0K0VGSgSayAA4NoteVGSayAA5FixItVGtcAJ0K8ProtocolRzlufC (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Diagnostic.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics4NoteVN (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Note.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s11SwiftSyntax0B0VAA0B8ProtocolAAMc (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntax.build\Syntax.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics5FixItVN (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\FixIt.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics18DiagnosticSeverityO21__derived_enum_equalsySbAC_ACtFZ (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Message.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics17DiagnosticMessageMp (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Message.swift.o) [LNK4217]
lld-link: warning: D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftSyntaxMacros.build\MacroExpansionContext.swift.o: locally defined symbol imported: $s16SwiftDiagnostics10DiagnosticVMn (defined in D:\testproject\src\.build\x86_64-unknown-windows-msvc\debug\SwiftDiagnostics.build\Diagnostic.swift.o) [LNK4217]
error: compile command failed due to exception 3 (use -v to see invocation)
error: failed parsing the Swift compiler output: unexpected JSON message: {
  "exception" : 3,
  "kind" : "abnormal-exit",
  "name" : "compile",
  "output" : "InOutToPointerExpr in unexpected position!\r\n(inout_to_pointer implicit type='UnsafeMutableRawPointer' location=D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:25 range=[D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:25 - line:22774:26]\r\n  (inout_expr type='inout Double' location=D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:25 range=[D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:25 - line:22774:26]\r\n    (declref_expr type='@lvalue Double' location=D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:26 range=[D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:26 - line:22774:26] decl=SwiftGodot.(file).GD.sin(angleRad:).copy_angle_rad@D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22772:13 function_ref=unapplied)))\r\nPlease submit a bug report (https:\/\/swift.org\/contributing\/#reporting-bugs) and include the crash backtrace.\r\nStack dump:\r\n0.\tProgram arguments: C:\/Library\/Developer\/Toolchains\/unknown-Asserts-development.xctoolchain\/usr\/bin\/swift-frontend.exe -frontend -c D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\ClassServices.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\ContentTypeStorage.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\GArray.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\GArrayCollection.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\InspectableProperty.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\NIOLock.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\ObjectCollection.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\Packed.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\SignalRegistration.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\SignalSupport.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\StringExtensions.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\VariantCollection.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\VariantRepresentable.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\VariantStorable.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\Various.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\Wrapped.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\EntryPoint.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Export.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\Arithmetic.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\ClassInfo+ConvenienceProperties.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\GD+Utils.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\GDictionary.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\InputEvents.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\NodeExtensions.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\GodotInterface.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\MacroDefs.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\SwiftGodot.swift D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Variant.swift -primary-file D:\\\\testproject\\\\src\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.swift -emit-dependencies-path D:\\\\testproject\\\\testproject\\\\src\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.d -emit-reference-dependencies-path D:\\\\testproject\\\\testproject\\\\src\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.swiftdeps -target x86_64-unknown-windows-msvc -disable-objc-interop -sdk C:\\\\Library\\\\Developer\\\\Platforms\\\\Windows.platform\\\\Developer\\\\SDKs\\\\Windows.sdk -I D:\\\\testproject\\\\src\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug -I C:\\\\Library\\\\Developer\\\\Platforms\\\\Windows.platform\\\\Developer\\\\Library\\\\XCTest-development\\\\usr\\\\lib\\\\swift\\\\windows -I C:\\\\Library\\\\Developer\\\\Platforms\\\\Windows.platform\\\\Developer\\\\Library\\\\XCTest-development\\\\usr\\\\lib\\\\swift\\\\windows\\\\x86_64 -color-diagnostics -enable-testing -g -module-cache-path D:\\\\testproject\\\\src\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\ModuleCache -suppress-warnings -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -load-plugin-executable D:\\\\testproject\\\\src\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\SwiftGodotMacroLibrary.exe#SwiftGodotMacroLibrary -empty-abi-descriptor -resource-dir C:\\\\Library\\\\Developer\\\\Toolchains\\\\unknown-Asserts-development.xctoolchain\\\\usr\\\\lib\\\\swift -enable-anonymous-context-mangled-names -Xcc -fmodule-map-file=D:\\\\testproject\\\\src\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\GDExtension.build\\\\module.modulemap -Xcc -I -Xcc D:\\\\testproject\\\\src\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\GDExtension\\\\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -module-name SwiftGodot -package-name swiftgodot -plugin-path C:\\\\Library\\\\Developer\\\\Toolchains\\\\unknown-Asserts-development.xctoolchain\\\\usr\\\\bin -plugin-path C:\\\\Library\\\\Developer\\\\Toolchains\\\\unknown-Asserts-development.xctoolchain\\\\usr\\\\local\\\\bin -parse-as-library -o D:\\\\testproject\\\\testproject\\\\src\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.swift.o -index-store-path D:\\\\testproject\\\\src\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\index\\\\store -index-system-modules\r\n1.\tSwift version 5.9.1 (swift-5.9.1-RELEASE)\r\n2.\tCompiling with the current language version\r\n3.\tWhile walking into 'GD' (at D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22759:8)\r\n4.\tWhile walking into body of 'sin(angleRad:)' (at D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22768:12)\r\n5.\tWhile verifying InOutToPointer expression at [D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:25 - line:22774:26] RangeText=\"&\"\r\nException Code: 0x80000003\r\n #0 0x00007ff79e2ca7a5 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x56da7a5)\r\n #1 0x00007fff30b21881 (C:\\Windows\\System32\\ucrtbase.dll+0x71881)\r\n #2 0x00007fff30b22851 (C:\\Windows\\System32\\ucrtbase.dll+0x72851)\r\n #3 0x00007ff79a640ac6 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1a50ac6)\r\n #4 0x00007ff79a634911 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1a44911)\r\n #5 0x00007ff79a647841 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1a57841)\r\n #6 0x00007ff79a583b58 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993b58)\r\n #7 0x00007ff79a58421a (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x199421a)\r\n #8 0x00007ff79a585004 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1995004)\r\n #9 0x00007ff79a583d50 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993d50)\r\n#10 0x00007ff79a5841fc (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19941fc)\r\n#11 0x00007ff79a587d0c (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1997d0c)\r\n#12 0x00007ff79a5852d7 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19952d7)\r\n#13 0x00007ff79a583d50 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993d50)\r\n#14 0x00007ff79a5841fc (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19941fc)\r\n#15 0x00007ff79a585004 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1995004)\r\n#16 0x00007ff79a583d50 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993d50)\r\n#17 0x00007ff79a5841fc (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19941fc)\r\n#18 0x00007ff79a583e32 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993e32)\r\n#19 0x00007ff79a584000 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1994000)\r\n#20 0x00007ff79a5855c1 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19955c1)\r\n#21 0x00007ff79a583d50 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993d50)\r\n#22 0x00007ff79a5841fc (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19941fc)\r\n#23 0x00007ff79a5875bc (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19975bc)\r\n#24 0x00007ff79a586084 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1996084)\r\n#25 0x00007ff79a583d10 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993d10)\r\n#26 0x00007ff79a5845fd (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19945fd)\r\n#27 0x00007ff79a5872b6 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x19972b6)\r\n#28 0x00007ff79a583c9a (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993c9a)\r\n#29 0x00007ff79a584aec (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1994aec)\r\n#30 0x00007ff79a58858b (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x199858b)\r\n#31 0x00007ff79a583c9a (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1993c9a)\r\n#32 0x00007ff79a584aec (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1994aec)\r\n#33 0x00007ff79a588de6 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1998de6)\r\n#34 0x00007ff79a396153 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x17a6153)\r\n#35 0x00007ff79a63c6ef (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1a4c6ef)\r\n#36 0x00007ff79a6283a5 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1a383a5)\r\n#37 0x00007ff799db6272 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x11c6272)\r\n#38 0x00007ff799db3b2f (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x11c3b2f)\r\n#39 0x00007ff799dc0fba (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x11d0fba)\r\n#40 0x00007ff798ee40bc (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x2f40bc)\r\n#41 0x00007ff798eeafc9 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x2fafc9)\r\n#42 0x00007ff798ef0165 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x300165)\r\n#43 0x00007ff798cf6b2a (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x106b2a)\r\n#44 0x00007ff798cf907f (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x10907f)\r\n#45 0x00007ff798cb64fc (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0xc64fc)\r\n#46 0x00007ff798cb6169 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0xc6169)\r\n#47 0x00007ff79e35c174 (C:\\Library\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x576c174)\r\n#48 0x00007fff31e07344 (C:\\Windows\\System32\\KERNEL32.DLL+0x17344)\r\n#49 0x00007fff32d026b1 (C:\\Windows\\SYSTEM32\\ntdll.dll+0x526b1)\r\n",
  "pid" : 24820,
  "process" : {
    "real_pid" : 24820
  }
}: dataCorrupted(Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "kind", intValue: nil)], debugDescription: "invalid kind", underlyingError: nil))

Previously, my project was able to be built for windows via github actions, but it seems now this also does not work

It seems to be getting caught on some part of the generated source I have attached a screenshot instead of pasting code just to include line numbers:

D:\\testproject\\src\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swift:22774:25 image

Airyzz commented 6 months ago

Here is a failing build action for extra detail: https://github.com/Airyzz/SwiftGodotCrossBuild/actions/runs/7163879300/job/19503008702

Airyzz commented 6 months ago

Based on my testing here This seems to have been introduced by https://github.com/migueldeicaza/SwiftGodot/commit/c24f8b2124e5d83456e77d2bd2cd2a196dedbbe2

I'm hesitant to try and tackle this one myself, as I'm not sure I completely understand what is going on here, but my understanding is something related to withArgPointers is causing issues on windows. It seems if on windows we just use withUnsafePointer it will work ok

cc @pcbeard @migueldeicaza

tishin commented 6 months ago

This snippet is enough to break compilation on Windows:

func withArgPointers(_ args: UnsafeMutableRawPointer?...) {
    print(args)
}
func call() {
    var int: Int = 1
    withArgPointers(&int)
}

Maybe going away from the variadic version to withArgPointers overloads alternative from #272 is the way to go, as it seems to work on Windows.

migueldeicaza commented 6 months ago

How can I test for Windows at runtime?

In that case, I can fallback to the old code (which is still present, and used for vararg invocations)

migueldeicaza commented 6 months ago

Band aid applied, I suspect that we should report this to Apple.

deevus commented 5 months ago

This looks like a similar error. Is it related?

C:\Users\Simon\scoop\apps\swift\current\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\swift-frontend.exe -frontend -c C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\ClassServices.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\ContentTypeStorage.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\GArray.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\GArrayCollection.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\InspectableProperty.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\NIOLock.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\ObjectCollection.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\Packed.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\SignalRegistration.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\SignalSupport.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\StringExtensions.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\VariantCollection.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\VariantRepresentable.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\VariantStorable.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\Various.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Core\Wrapped.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\EntryPoint.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Export.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\Arithmetic.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\ClassInfo+ConvenienceProperties.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\ColorExtensions.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\GD+Utils.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\GDictionary.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\InputEvents.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\NodeExtensions.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Extensions\PhysicsDirectSpaceState3D+IntersectRayResult.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\GodotInterface.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\MacroDefs.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Native\LinearInterpolation.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Native\RotationConversion.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Native\Snapped.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\SwiftGodot.swift -primary-file C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\SwiftGodot\Variant.swift C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\plugins\outputs\swiftgodot\SwiftGodot\CodeGeneratorPlugin\GeneratedSources\generated.swift -emit-dependencies-path C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug\SwiftGodot.build\Variant.d -emit-reference-dependencies-path C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug\SwiftGodot.build\Variant.swiftdeps -target x86_64-unknown-windows-msvc -disable-objc-interop -sdk C:\Users\Simon\scoop\apps\swift\current\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk -I C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug -I C:\Users\Simon\scoop\apps\swift\current\Developer\Platforms\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows -I C:\Users\Simon\scoop\apps\swift\current\Developer\Platforms\Windows.platform\Developer\Library\XCTest-development\usr\lib\swift\windows\x86_64 -color-diagnostics -enable-testing -g -module-cache-path C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug\ModuleCache -suppress-warnings -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -load-plugin-executable C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug\SwiftGodotMacroLibrary.exe#SwiftGodotMacroLibrary -empty-abi-descriptor -resource-dir C:\Users\Simon\scoop\apps\swift\current\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift -enable-anonymous-context-mangled-names -Xcc -fmodule-map-file=C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug\GDExtension.build\module.modulemap -Xcc -I -Xcc C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\checkouts\SwiftGodot\Sources\GDExtension\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -module-name SwiftGodot -package-name swiftgodot -plugin-path C:\Users\Simon\scoop\apps\swift\current\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin -plugin-path C:\Users\Simon\scoop\apps\swift\current\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\local\bin -parse-as-library -o C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug\SwiftGodot.build\Variant.swift.o -index-store-path C:\Users\Simon\Projects\dwl\MiniMedieval\swift\.build\x86_64-unknown-windows-msvc\debug\index\store -index-system-modules
error: compile command failed due to exception 3 (use -v to see invocation)
error: failed parsing the Swift compiler output: unexpected JSON message: {
  "exception" : 3,
  "kind" : "abnormal-exit",
  "name" : "compile",
  "output" : "\u001b[1m<unknown>:0: \u001b[0m\u001b[0;1;31merror: \u001b[0m\u001b[1merror opening 'C:\\Users\\Users\\Simon\\Projects\\dwl\\MiniMedieval\\swift\\.build\\plugins\\outputs\\swiftgodot\\SwiftGodot\\CodeGeneratorPlugin\\GeneratedSources\\generated.swiftdeps' for output: no such file or directory\r\n\u001b[0mAssertion failed: loadedGraph.has_value() && \"Should be able to read the exported graph.\", file C:\\Users\\swift-ci\\jenkins\\workspace\\oss-swift-windows-toolchain\\swift\\lib\\AST\\FineGrainedDependencies.cpp, line 237\r\nPlease submit a bug report (https:\/\/swift.org\/contributing\/#reporting-bugs) and include the crash backtrace.\r\nStack dump:\r\n0.\tProgram arguments: C:\/Users\/Simon\/scoop\/apps\/swift\/current\/Developer\/Toolchains\/unknown-Asserts-development.xctoolchain\/usr\/bin\/swift-frontend.exe -frontend -c C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\ClassServices.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\ContentTypeStorage.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\GArray.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\GArrayCollection.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\InspectableProperty.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\NIOLock.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\ObjectCollection.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\Packed.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\SignalRegistration.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\SignalSupport.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\StringExtensions.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\VariantCollection.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\VariantRepresentable.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\VariantStorable.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\Various.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Core\\\\Wrapped.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\EntryPoint.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Export.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\Arithmetic.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\ClassInfo+ConvenienceProperties.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\ColorExtensions.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\GD+Utils.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\GDictionary.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\InputEvents.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\NodeExtensions.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Extensions\\\\PhysicsDirectSpaceState3D+IntersectRayResult.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\GodotInterface.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\MacroDefs.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Native\\\\LinearInterpolation.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Native\\\\RotationConversion.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Native\\\\Snapped.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\SwiftGodot.swift C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\SwiftGodot\\\\Variant.swift -primary-file C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.swift -emit-dependencies-path C:\\\\Users\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.d -emit-reference-dependencies-path C:\\\\Users\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.swiftdeps -target x86_64-unknown-windows-msvc -disable-objc-interop -sdk C:\\\\Users\\\\Simon\\\\scoop\\\\apps\\\\swift\\\\current\\\\Developer\\\\Platforms\\\\Windows.platform\\\\Developer\\\\SDKs\\\\Windows.sdk -I C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug -I C:\\\\Users\\\\Simon\\\\scoop\\\\apps\\\\swift\\\\current\\\\Developer\\\\Platforms\\\\Windows.platform\\\\Developer\\\\Library\\\\XCTest-development\\\\usr\\\\lib\\\\swift\\\\windows -I C:\\\\Users\\\\Simon\\\\scoop\\\\apps\\\\swift\\\\current\\\\Developer\\\\Platforms\\\\Windows.platform\\\\Developer\\\\Library\\\\XCTest-development\\\\usr\\\\lib\\\\swift\\\\windows\\\\x86_64 -color-diagnostics -enable-testing -g -module-cache-path C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\ModuleCache -suppress-warnings -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -load-plugin-executable C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\SwiftGodotMacroLibrary.exe#SwiftGodotMacroLibrary -empty-abi-descriptor -resource-dir C:\\\\Users\\\\Simon\\\\scoop\\\\apps\\\\swift\\\\current\\\\Developer\\\\Toolchains\\\\unknown-Asserts-development.xctoolchain\\\\usr\\\\lib\\\\swift -enable-anonymous-context-mangled-names -Xcc -fmodule-map-file=C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\GDExtension.build\\\\module.modulemap -Xcc -I -Xcc C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\checkouts\\\\SwiftGodot\\\\Sources\\\\GDExtension\\\\include -Xcc -D_MT -Xcc -D_DLL -Xcc -Xclang -Xcc --dependent-lib=msvcrt -module-name SwiftGodot -package-name swiftgodot -plugin-path C:\\\\Users\\\\Simon\\\\scoop\\\\apps\\\\swift\\\\current\\\\Developer\\\\Toolchains\\\\unknown-Asserts-development.xctoolchain\\\\usr\\\\bin -plugin-path C:\\\\Users\\\\Simon\\\\scoop\\\\apps\\\\swift\\\\current\\\\Developer\\\\Toolchains\\\\unknown-Asserts-development.xctoolchain\\\\usr\\\\local\\\\bin -parse-as-library -o C:\\\\Users\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\plugins\\\\outputs\\\\swiftgodot\\\\SwiftGodot\\\\CodeGeneratorPlugin\\\\GeneratedSources\\\\generated.swift.o -index-store-path C:\\\\Users\\\\Simon\\\\Projects\\\\dwl\\\\MiniMedieval\\\\swift\\\\.build\\\\x86_64-unknown-windows-msvc\\\\debug\\\\index\\\\store -index-system-modules\r\n1.\tSwift version 5.9.2 (swift-5.9.2-RELEASE)\r\n2.\tCompiling with the current language version\r\nException Code: 0x80000003\r\n #0 0x00007ff7369a4395 (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x56e4395)\r\n #1 0x00007ffd8ce8e5f5 (C:\\WINDOWS\\System32\\ucrtbase.dll+0x7e5f5)\r\n #2 0x00007ffd8ce8f601 (C:\\WINDOWS\\System32\\ucrtbase.dll+0x7f601)\r\n #3 0x00007ffd8ce90fae (C:\\WINDOWS\\System32\\ucrtbase.dll+0x80fae)\r\n #4 0x00007ffd8ce911f1 (C:\\WINDOWS\\System32\\ucrtbase.dll+0x811f1)\r\n #5 0x00007ff732bce4ba (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x190e4ba)\r\n #6 0x00007ff7313bb5d3 (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0xfb5d3)\r\n #7 0x00007ff732bca91f (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x190a91f)\r\n #8 0x00007ff7313c4dda (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x104dda)\r\n #9 0x00007ff7313c87cc (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1087cc)\r\n#10 0x00007ff7313c76af (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x1076af)\r\n#11 0x00007ff7313c7f29 (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x107f29)\r\n#12 0x00007ff7313c6c74 (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x106c74)\r\n#13 0x00007ff7313c916f (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x10916f)\r\n#14 0x00007ff7313864fc (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0xc64fc)\r\n#15 0x00007ff731386169 (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0xc6169)\r\n#16 0x00007ff736a35d64 (C:\\Users\\Simon\\scoop\\apps\\swift\\current\\Developer\\Toolchains\\unknown-Asserts-development.xctoolchain\\usr\\bin\\swift-frontend.exe+0x5775d64)\r\n#17 0x00007ffd8dbd257d (C:\\WINDOWS\\System32\\KERNEL32.DLL+0x1257d)\r\n#18 0x00007ffd8f90aa58 (C:\\WINDOWS\\SYSTEM32\\ntdll.dll+0x5aa58)\r\n",
  "pid" : 18004,
  "process" : {
    "real_pid" : 18004
  }
}: dataCorrupted(Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "kind", intValue: nil)], debugDescription: "invalid kind", underlyingError: nil))
Airyzz commented 5 months ago

C:\Users\Simon\Projects\dwl\MiniMedieval\swift\

@deevus based on this file path, I think your project file path is too long (Swift on windows has issues with long file path See: https://github.com/migueldeicaza/SwiftGodot/issues/271#issuecomment-1837369818). Try moving your project somewhere like C:\MiniMedievaland build from there

silverhammermba commented 4 months ago

At this time, saying SwiftGodot supports Windows is extremely generous at best.

SwiftGodot is practically unusable on Windows. The only practical workflow I can see is using Mac/Linux exclusively and then doing a final Windows build only for deployment, which means you effectively cannot collaborate with devs who use Windows exclusively (probably the most common game dev platform).

migueldeicaza commented 4 months ago

You basically need subst for builds to work. This should be mentioned in the Windows instructions.

Added to the docs.

The build is excruciatingly slow.

This is something that should be improved upstream, won't be solved here.

This could be because I set up my extension to load directly from the build directory, but that works fine on Mac and Linux and it's really nice to not have to manually copy files all the time.

This is a windows-ism, it does not allow a DLL to be open and written to. On Unix you can, but it can corrupt your running process and crash. The proper procedure is do never do this.

silverhammermba commented 3 months ago

Reported slowdown upstream https://github.com/apple/swift/issues/72221

migueldeicaza commented 3 months ago

One possible workaround is to use precompiled versions of SwiftGodot. I used to use this on MacOS when I didn’t want to rebuild everything all the time. This is the reason I publish binaries for it.

sadly, binary packages are not supported outside macOS, but I ran into this post that shows how folks are working around that limitation. Perhaps we could try something like that:

https://forums.swift.org/t/our-journey-with-swift-thus-far-some-notes-and-reflections/70510

UltimaTerra commented 3 days ago

Has this issue been resolved? @migueldeicaza I have Windows 11 and somehow Swift 6.0 preview iirc I also have 5.10 to test against. I have a fairly capable system with both WSL and another Linux partition that I built GDExtension with (thank you so much by the way! <3)

I wish I can tell you I know what I am doing on Windows but I don't lol. But any help in the right direction might be useful.