Operating system: Arch Linux, Godot 3.0 custom build.
Issue description: Mono glue no longer being generated by --generate-mono-glue. The output that should appear when glue is generated is absent, and godot builds without the mono module. Found when testing after #11739. 9b8376e of my update script was working before. When trying manually, I produced this hastebin. Typing the commands to compile manually yielded no difference.
Steps to reproduce: Run godot --generate-mono-glue modules/mono/glue as detailed in the GodotSharp building instructions.
Are you building with module_mono_enabled=yes? Those instructions need to be updated to include this, and moved to the docs.
Is this done in both the initial build and after generating glue?
On Tue, Oct 3, 2017 at 12:38 PM, Ignacio Etcheverry
notifications@github.com wrote:
Are you building with module_mono_enabled=yes? Those instructions
need to be updated to include this, and moved to the docs.—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
I also ran into the exact same issue when trying it today.
so mono_glue=no got renamed to module_mono_enable
OR
is module_mono_enabled needed on the initial build to enable it. only a binary with enabled mono can than execute --generate-mono-glue ?
is this what is needed for creating a binary that is able to create the bindings:
scons p=osx target=debug tools=yes mono_glue=no module_mono_enabled=yes
getting this error than:
Could not detect MinGW. Ensure its binaries are in your PATH or that MINGW32_PREFIX or MINGW64_PREFIX are properly defined.
but this is probably on my side how I set up mono?
Well, attempted rebuilding with module_mono_enabled and got this: https://hastebin.com/raw/ulefufaban
You can ignore the "target=debug tools=yes" portion as these are the defaults.
So:
scons p=x11/osx/etc module_mono_enabled=yes mono_glue=no
bin/godot.x11.tools.64 --generate-mono-glue modules/mono/glue
scons p=x11/osx/etc module_mono_enabled=yes
In other words, module_mono_enabled=yes only tells Godot to include Mono, not whether to use the glue or not.
@NathanWarden Thank you! that makes sense!
but I still don't get it to work because of Could not detect MinGW
any idea?
by the way what is builtin_openssl=yes doing? (what is it needed for?)
Using the Xamarin msbuild 15, will try with msbuild-bin. builtin_openssl=yes is in case the installed version of openssl on your system is above what is supported by Godot.
@toger5 If you're only trying to build for Linux or OSX you can ignore this as it's only used for Windows.
Sorry, I removed "builtin_openssl=yes" above as it's something you only need for certain Linux distros. :)
@toger5 If you are trying to make a Windows build you'll need to install mingw. If you are trying to build for Windows which OS are you on?
Yes, the mono_glue=no argument is still required when building that binary that generates the glue. Additionally, you need the module_mono_enabled=yes command to tell scons to build the mono module itself, because it's disabled by default.
Other than a brief warning, looks like things are working now. Closing.
Although it just got closed, I would like to answer @NathanWarden question and maybe we get it working for me too.
I'm on macOS.
(has anyone tested that already?)
that is also why it confuses me that it gives MinGW errors...
Not a problem at all, just don't want to bother others by keeping the
issue marked as open.
On Tue, Oct 3, 2017 at 1:07 PM, Timo notifications@github.com wrote:
Although it just got closed, I would like to answer @NathanWarden
question and maybe we get it working for me too.
I'm on macOS.—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.
this is the full output
https://gist.github.com/toger5/315b7e45a0726303c2d16c219c39b490
@BrainBlasted The msbuild-15-bin package on Arch Linux is defective (both @karroffel and @tagcup had problems with it as well). I think msbuild-bin should work.
@toger5 Yeah, the MinGW printed is just a warning and you can either ignore it or install MinGW.
Your real error is that you don't have Mono installed. Did you install the Mono from here?
http://www.mono-project.com/download/
You may need to restart before it will be included in your environment variables. If that doesn't work I'll try and help you further as I did get this to work on macOS about a week ago :)
It does now. The reason msbuild-15-bin has issues seems to be because
it is now unmaintained.
On Tue, Oct 3, 2017 at 1:14 PM, Ignacio Etcheverry
notifications@github.com wrote:
@BrainBlasted The msbuild-15-bin package on Arch Linux is defective
(both @karroffel and @tagcup had problems with it as well). I think
msbuild-bin should work.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
@neikeq @BrainBlasted Same here. msbuild-bin works msbuild-15-bin is broken.
@toger5 If you have mono installed (and it isn't working) you might want to see if you can install it using macports.
There's also brew install mono if you use homebrew.
@BrainBlasted oh nice. that might be better than the installer since the installer is pretty big and has a lot of libs I don't really need.
@neikeq Using msbuild-bin prevents building solutions, since godot looks for msbuild, yet msbuild-bin provides xbuild. How does the compilation process handle it?
I indeed just didn't had mono installed properly (mono -V was giving me an error)
I installed it using the brew formula which seems to work.
@neikeq also mentioned that adding mono to the path could work.
appending "/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/" (if mono-2.pc was found there) to PKG_CONFIG_PATH
for any other desperate OS X person ;)
@BrainBlasted I may be missing something you're trying to do in your particular case, but you can change the "Mono > Builds" setting in EditorSettings to use xbuild. Last I tried you have to restart the editor in order for the setting to take affect.
@NathanWarden This is very much off-topic, but since you mentioned it here, afaik "builtin_openssl=yes" is no longer required for godot to build e.g. on ArchLinux (i think this was fixed a while ago)
... change the "Mono > Builds" setting in EditorSettings to use xbuild. Last I tried you have to restart the editor in order for the setting to take affect.
You don't need to restart anymore.
Thanks for letting me know. Also, does Godot produce logs for when
Proejct solutions fail to build? Nothing shows up in the editor.
On Tue, Oct 3, 2017 at 5:08 PM, Ignacio Etcheverry
notifications@github.com wrote:
... change the "Mono > Builds" setting in EditorSettings to use
xbuild. Last I tried you have to restart the editor in order for the
setting to take affect.You don't need to restart anymore.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
@novemberist @neikeq Thanks for letting me know on both accounts. :)
@BrainBlasted yes, if there are warning or errors, they will popup on screen (in the bottom panel). If you want to see the logs, you can find them in _user://mono/build_logs/<MD5PathToSolution>_<BuildConfiguration>, but don't worry, I will add a button to open the logs from the editor.