Skip to content

Wasm: Fix mono patch application on Emscripten 1.38.47 - #44

Merged
akien-mga merged 1 commit into
masterfrom
wasm-fix-patching-emscripten-1.38.47
Apr 6, 2020
Merged

Wasm: Fix mono patch application on Emscripten 1.38.47#44
akien-mga merged 1 commit into
masterfrom
wasm-fix-patching-emscripten-1.38.47

Conversation

@akien-mga

Copy link
Copy Markdown
Member

As a reminder, we pinned the Emscripten version to 1.38.47-upstream as we had a regression with wasm generation in 1.38.48 and 1.39.x back in 17666f0.

This patch comes from Mono's 2019-10 branch (6.8.x): mono/mono#17094
(Slightly amended to include a version bump in wasm.mk that should have been done by other intermediate patches.)

We might need a recent Emscripten 1.39.x in the 3.2 branch eventually (CC @Faless), so we might have to consider upgrading to a newer Mono branch with support for a more recent Emscripten.

@akien-mga
akien-mga requested a review from neikeq April 6, 2020 10:23
@akien-mga

Copy link
Copy Markdown
Member Author

For the record, this patch application failure should also have affected previous container builds used in Godot 3.2 and 3.2.1. I did not notice it until now because of godotengine/godot-mono-builds/issues/6.

I don't know what impact it has on our 3.2 and 3.2.1 WebAssembly templates for C#.

@akien-mga

Copy link
Copy Markdown
Member Author

We might need a recent Emscripten 1.39.x in the 3.2 branch eventually (CC @Faless), so we might have to consider upgrading to a newer Mono branch with support for a more recent Emscripten.

I had a quick check at the supported Emscripten version in different Mono branches (I think we can assume that the hardcoded Emscripten version in Mono's sdks/build/wasm.mk is the version we should use, as Emscripten breaks compat in every other patch release):

  • Mono 2019-08 (6.6.x, our current branch): 1.38.38 (hence the two patches we carry along)
  • Mono 2019-10 (6.8.x, current upstream stable): 1.38.47
  • Mono 2019-12 (6.10.x, current upstream preview): 1.39.3
  • Mono 2020-02 (6.12.x, current upstream nightly): 1.39.7

Latest emscripten today is 1.39.11.

So yeah, we should make sure that our Wasm port does not expect cutting edge Emscripten versions, unless we're willing to go with Mono Nightly for our stable releases...

We could consider an upgrade to Mono 6.10.x once it hits stable though, which gives us Emscripten 1.39.3 support without hacks.

@akien-mga

Copy link
Copy Markdown
Member Author

I confirm that the patches apply fine now when building a container against mono-6.6.0.166.

@akien-mga
akien-mga merged commit 0bdd79e into master Apr 6, 2020
@akien-mga
akien-mga deleted the wasm-fix-patching-emscripten-1.38.47 branch April 6, 2020 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant