Skip to content

Crash when trying to open C# project with .NET installed in non-standard location (but in PATH) #66353

@Zekiah-A

Description

@Zekiah-A

Godot version

Godot Engine v4.0.beta1.mono.official (4ba934b)

System information

Arch Linux, Vulkan, GTX 1050

Issue description

When attempting to open a C# project on godot 4 beta mono I get the following error

Godot Engine v4.0.beta1.mono.official.4ba934bf3 - https://godotengine.org
Vulkan API 1.2.0 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1050
 
ERROR: The host fxr folder does not exist: /usr/share/dotnet/host/fxr
   at: try_get_path_from_dotnet_root (modules/mono/editor/hostfxr_resolver.cpp:323)
ERROR: .NET: One of the dependent libraries is missing. Typically when the `hostfxr`, `hostpolicy` or `coreclr` dynamic libraries are not present in the expected locations.
   at: find_hostfxr (modules/mono/mono_gd/gd_mono.cpp:126)
ERROR: .NET: Failed to load hostfxr
   at: initialize (modules/mono/mono_gd/gd_mono.cpp:397)
Project is missing: /home/zekiah/Downloads/godot-reflection/project.godot
Project is missing: /home/zekiah/Downloads/Liblast-main/liblast/Game/project.godot
Editing project: /home/zekiah/Documents/MandemTerritory
Godot Engine v4.0.beta1.mono.official.4ba934bf3 - https://godotengine.org
Vulkan API 1.2.0 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 1050
 
ERROR: The host fxr folder does not exist: /usr/share/dotnet/host/fxr
   at: try_get_path_from_dotnet_root (modules/mono/editor/hostfxr_resolver.cpp:323)
ERROR: .NET: One of the dependent libraries is missing. Typically when the `hostfxr`, `hostpolicy` or `coreclr` dynamic libraries are not present in the expected locations.
   at: find_hostfxr (modules/mono/mono_gd/gd_mono.cpp:126)
ERROR: .NET: Failed to load hostfxr
   at: initialize (modules/mono/mono_gd/gd_mono.cpp:397)
WARNING: FBX file import is enabled in the project settings, but no FBX2glTF path is configured in the editor settings. FBX files will not be imported.
     at: _editor_init (modules/gltf/register_types.cpp:99)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.beta1.mono.official (4ba934bf3d1e697d8f332b5e8cfd694cdf49a7ba)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/libc.so.6(+0x38a00) [0x7f4122a92a00] (??:0)
-- END OF BACKTRACE --
================================================================

I do have dotnet installed, evident as when I run,

❯ dotnet --list-sdks
6.0.302 [/home/zekiah/dotnet/sdk]
7.0.100-preview.6.22352.1 [/home/zekiah/dotnet/sdk]
❯ dotnet --list-runtimes
Microsoft.AspNetCore.App 6.0.7 [/home/zekiah/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.0-preview.6.22330.3 [/home/zekiah/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.7 [/home/zekiah/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.0-preview.6.22324.4 [/home/zekiah/dotnet/shared/Microsoft.NETCore.App]

, you can see everything is installed as expected, when I run which dotnet, I get /home/zekiah/dotnet/dotnet, I suspect this may be an issue as godot is only seeming to look in ERROR: The host fxr folder does not exist: /usr/share/dotnet/host/fxr for dotnet. When searching within /home/zekiah/dotnet/dotnet, the host/fxr dir does exist there.

Steps to reproduce

  • Install dotnet via the install scripts, or some other method that does not result in the dotnet directory not being located in /usr/share/dotnet/

Minimal reproduction project

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions