godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.22k stars 20.23k forks source link

Mono version produces error on Linux Mint. #36923

Open Nootria opened 4 years ago

Nootria commented 4 years ago

Godot version: 3.2 stable mono 64-bit

OS/device including version: Linux Mint 19.3 Cinnamon 64-bit (guest machine on Virtualbox and Windows 10)

Issue description: Similar to issue #39857 but with some differences.

Running the project produces a "Test.sln" file (The name of the project). Running the project with the file present produces the error, editor/editor_node.cpp:5268 - An EditorPlugin build callback failed.

My issue differs from issue issue #39857 because deleting the sln file still produces an error. Two of them actually. Also, I am not sure if his sln file would be recreated back after running the project, but mine does.

scene/gui/popup_menu.cpp:1172 - Index p_idx = -1 is out of bounds (items.size() = 1). editor/editor_node.cpp:5268 - An EditorPlugin build callback failed.

One commenter from issue #39857 said their issue was solved by installing mono SDK according to the instructions on the mono sdk website. However, I had already used those instructions (for Ubuntu 18.04, since Linux Mint was originally built on Ubuntu).

My installation of mono sdk doesn't seem to be the problem, since I can run the basic "Hello World" test here with mono just fine.

Steps to reproduce: Just run my MCVE on Linux Mint.

Minimal reproduction project: MCVE

rafaelgdp commented 4 years ago

I am here to confirm that I also experienced this issue on Linux Mint. I had not reported this because I thought it was my fault not configuring mono correctly (which I think I did everything right). I could use mono on the terminal normally. This issue made me wonder if it only works on a specific version of Mono or I am missing something. I was on a native Linux Mint 19 installation (not on a VM).

akien-mga commented 4 years ago

My installation of mono sdk doesn't seem to be the problem, since I can run the basic "Hello World" test here with mono just fine.

That's not a guarantee that Godot will work fine. Any Mono version can be used to write an hello world project, but that doesn't mean that applications built against a specific Mono version will work with the one you have.

So what is your Mono SDK version, and your MSBuild version?

Nootria commented 4 years ago

I am not sure how to check my msbuild version. Unless it was installed with mono sdk, I probably don't have it. Typing csc -version prints 3.5.0-beta1-19606-04 (d2bd58c6)

Typing mono --version into the terminal brings me this information.

Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:20 UTC 2020) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug Interpreter: yes LLVM: yes(610) Suspend: hybrid GC: sgen (concurrent by default)

akien-mga commented 4 years ago

You need msbuild installed to use Godot. Try apt-get install msbuild, assuming that you have the Mono repo enabled.

Tobi-Mob commented 3 years ago

Did installing msbuild help? I am running Linux Mint 20.2 and Godot 3.3.3 works fine for me.

Here are the different Versions I have installed:

mono --version

Mono JIT compiler version 6.12.0.122 (tarball Mon Feb 22 17:33:28 UTC 2021)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:           __thread
SIGSEGV:       altstack
Notifications: epoll
Architecture:  amd64
Disabled:      none
Misc:          softdebug 
Interpreter:   yes
LLVM:          yes(610)
Suspend:       hybrid
GC:            sgen (concurrent by default)

msbuild

Microsoft (R)-Build-Engine, Version 16.6.0 für Mono
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

csc -version

3.6.0-4.20224.5 (ec77c100)