Page MenuHomeSolus

Meta: Issues with Godot 3
Closed, ResolvedPublic

Description

This is meta task / general support thread for our upgrade to Godot 3. We have a PSA out via our blog post and respective social media accounts informing people, where this task shall be referenced.

This thread shall be used to report issues with our packaged version of Godot 3 itself. For any issues with the conversion of your project, we encourage you to reach out to Godot's community:

There is a multitude of other methods of engaging with the Godot community, all of which are available here.

Event Timeline

JoshStrobl triaged this task as Unbreak Now! priority.Aug 13 2018, 1:08 PM
JoshStrobl created this task.
JoshStrobl moved this task from Backlog to Package Fixes on the Software board.

Marking unbreak now for visibility purposes, package fixes as any issues related to our packaged version and conversion of projects will be considered a fix, not an improvement.

Repost here from T6801:
Issue:
When trying to use C# scripts in Godot it instantly crashes.
Console log: https://gitlab.com/snippets/1746169

Steps to reproduce:

  1. Create a project in Godot
  2. Create a node
  3. Attach a new C# script
  4. Godot instantly crashes

I guess this is something we could try.

@kyrios123, that could be it as I could not find any of those files in the same directory as the godot executable and that issue matches exactly what I'm experiencing.

@AntiSC2 Would you mind testing this package ?
It's just a slightly modified version of the current one but I placed all the files together as suggested in the above link I posted.

You have to uninstall the current package and install the new one (you must be in the directory in which you downloaded the file)

sudo eopkg rm godot
sudo eopkg it godot-3.0.6-15-1-x86_64.eopkg

I can confirm the issue @AntiSC2 is having, and getting the same stackstrace from the crash. My initial thoughts is that could be an issue for users with AMD GPUs.

@kyrios123, the new build fixes the crash issue and now I get an error dialog from Godot when trying to run a project with a C# script: "Failed to build GodotSharp solution."
Found this mono log for Godot: https://gitlab.com/snippets/1746458
Have no idea if that is helpful.

@joebonrichie I don't think it is an issue with AMD GPUs, I myself have one and I can run Godot perfectly fine. The only problem right now is with C# projects

@AntiSC2 I quickly browsed the godot issues yesterday, but I haven't found anything really helpful. I suggest that you report the problem on godot side to see if they can help.

PS: I'll push the updated package you tested on unstable today.

@kyrios123, figured it out. The docs were not updated and you require mono 5.12 for 3.0.6 or else it won't work as you can see here and here

Ok... I guess I have no choice but updating the mono stack...

I thought I could escape it

@AntiSC2 I just finished pushing mono 5.14. If you are on unstable, it would be nice if you could give it a try just do sudo eopkg up, it is safe to update at the moment.

JoshStrobl claimed this task.

I'm going to mark this as resolved. If this issue persists after our sync to stable, feel free to open it. Thank you @AntiSC2 for your reports and @kyrios123 for all your hard work on Godot 3.

AntiSC2 reopened this task as Open.EditedAug 24 2018, 2:09 PM

The new mono version did not help either, trying to debug this right now. Tried to build the solution directly with xbuild and it seems it has problem finding GodotSharp.dll:

/usr/lib64/mono/xbuild/14.0/bin/Microsoft.Common.targets:  warning : Reference 'GodotSharp' not resolved
                                For searchpath {CandidateAssemblyFiles}
                                Warning: {CandidateAssemblyFiles} not supported currently
                                For searchpath {HintPathFromItem}
                                Considered /home/jakob/Documents/Test//.mono/assemblies/GodotSharp.dll, but it does not exist.
                                For searchpath {TargetFrameworkDirectory}
                                Considered target framework dir /usr/lib64/mono/4.5-api/, assembly named 'GodotSharp' not found.
                                Considered target framework dir /usr/lib64/mono/4.5-api//Facades/, assembly named 'GodotSharp' not found.
                                For searchpath {PkgConfig}
                                Considered GodotSharp, but could not find in any pkg-config files.
                                For searchpath {GAC}
                                Considered GodotSharp, but could not find in the GAC.
                                For searchpath {RawFileName}
                                Considered 'GodotSharp' as a file, but the file does not exist
                                For searchpath .mono/temp/bin/Debug/
                                Considered '/home/jakob/Documents/Test/.mono/temp/bin/Debug/GodotSharp' as a file, but the file does not exist
                                Considered '/home/jakob/Documents/Test/.mono/temp/bin/Debug/GodotSharp.exe' as a file, but the file does not exist
                                Considered '/home/jakob/Documents/Test/.mono/temp/bin/Debug/GodotSharp.dll' as a file, but the file does not exist

@kyrios123, I realized that it is because it can't build GodotSharp

Anyways, I saw this output from Godot when creating a C# script:

Create Node
modules/mono/csharp_script.cpp:2366 - Cannot add res://Node2D.cs to the C# project because it could not be created.

After digging around that output was also related to it not being able to build GodotSharp.
Here is their tracker of C# support in Godot: https://github.com/godotengine/godot/issues/18364

Just in case I found this :

It failing to load GodotSharp the first time is normal, actually.
GodotSharp.dll isn't shipped with Godot and gets built automatically the first time you compile your project. Make a new project and add a C# script, then hit run (or hit "Build Project" in the Mono tab at the bottom of the editor) and the GodotSharp.dll should be available.

@kyrios123, I got it to work! The problem is that it is trying to build with msbuild but in the editor I found a setting which lets you set it to xbuild. This solved my issue but it would be nice to have the msbuild option working as the xbuild option is marked: "deprecated"

SettingGodot.png (837×1 px, 46 KB)

In any case, it would be nice to notify Solus users that they must you xbuild for Godot

The thing is that T5888 is not yet in the repository...

But I'm glad you finally managed to make it working :)

Is it actually looking for GodotSharp.dll or GodotSharpTools.dll? I think it's just a bad error message.

Try copying /usr/lib64/godot/GodotSharpTools.dll to /usr/lib64/mono/4.5-api/GodotSharpTools.dll

@DataDrake, it is looking for GodotSharp.dll. It builds it once the project is created and because it tried to use msbuild it failed. GodotSharpTools.dll is not actually directly related to it and I think in Godot 3.1 they will rename GodotSharp.dll to stop this confusion.

Alright. When I was digging through the source it looked like it was only ever searching for GodotSharpTools. Figured it was worth the question.

Have confirmed that msbuild now works with Godot 3.0.6, closing this issue now.

Ideally next version should be built with msbuild instead of xbuild