Skip to content

Godot 3.6: Cannot build Web export template with Mono enabled #107768

Closed
@dtsioni

Description

@dtsioni

Tested versions

Branch 3.6

System information

Windows 10 - WSL (Ubuntu) - Godot 3.6.1 - Mono - WASM - Javascript/Web

Issue description

I'm working in branch 3.6. I want to build a custom export template for the Web platform with the module Mono enabled. I have been trying to get this to work for a few weeks already and I cannot get one export template building correctly. I'm building everything inside of WSL and I've been trying to follow all documentation to a T.

As per https://docs.godotengine.org/en/3.6/development/compiling/compiling_with_mono.html
I've built the glue using the Windows platform exe. I also tried the glue generated with the x11 platform bin.

As per https://github.com/godotengine/godot-mono-builds
I've built the wasm runtime.

As per https://docs.godotengine.org/en/3.6/development/compiling/compiling_for_web.html
I've run scons platform=javascript tools=no target=release module_mono_enabled=yes mono_glue=yes extra_suffix=js-mono-1 mono_prefix=$HOME/mono-installs/wasm-runtime-release

Everything compiles, until I get the following error:
[ 66%] Linking Program ==> bin/godot.javascript.opt.js-mono-1.mono.js
error: undefined symbol: godot_mono_register_m2n_icall_trampoline_dispatch_hook

Google returns no results for this error.

Am I doing something wrong, is this not supported, or is there an issue with the engine itself?

The default export template for Godot 3.6 Mono HTML5 works, so I have to assume that it's possible to build a custom one as well. However, nothing is working according to the official documentation.

Steps to reproduce

Pull down Godot 3.6 in WSL.
Build windows exe with mono enabled.
Generate mono glue.
Pull down godot-mono-builds and build the wasm runtime.
Run scons platform=javascript tools=no target=release module_mono_enabled=yes mono_glue=yes extra_suffix=js-mono-1 mono_prefix=$HOME/mono-installs/wasm-runtime-release

Minimal reproduction project (MRP)

The project is no different than what is present on the 3.6 branch. The issue is likely environmental.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions