Emscripten version update
Posted: 09 Nov 2023, 17:37
Hello !
We have started integrating NoesisGUI into our custom c++ engine, it's working well on Windows and Android so far. We also need to compile for WebAssembly, but we have a link error:
wasm-ld: error: function signature mismatch: time
>>> defined as (i32) -> i32 in [...]/noesisgui-3.2.2/Bin/wasm/Noesis.bc(License.o)
>>> defined as (i32) -> i64 in [...]\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\libc-mt-debug.a(emscripten_time.o)
NoesisGUI is apparently compiled with the Emscripten version 3.1.8 [03/24/2022] (https://www.noesisengine.com/docs/Gui.C ... ative.html "Building WebGL").
And we use the latest version (3.1.48) [11/05/2023].
We have done some research and it seems that time_t has been changed to int64 in version 3.1.16 [07/14/2022] :
https://github.com/emscripten-core/emsc ... --07142022
"The type of time_t was restored 64-bit after being converted to 32-bit in 3.1.11. (#17401)"
We found the related commits in the history of the file alltypes.h:
https://github.com/emscripten-core/emsc ... alltypes.h
https://github.com/emscripten-core/emsc ... b9379ee86b
https://github.com/emscripten-core/emsc ... ee4c80fe30
It seems that time_t, as compiled in Noesis.bc, is "long" (potentially int32), which is no longer the case after version 3.1.16 ("_Int64").
So, our question is: is it possible to update and recompile the Noesis lib for WebAssembly with the latest version of Emscripten? Thanks in advance!
We have started integrating NoesisGUI into our custom c++ engine, it's working well on Windows and Android so far. We also need to compile for WebAssembly, but we have a link error:
wasm-ld: error: function signature mismatch: time
>>> defined as (i32) -> i32 in [...]/noesisgui-3.2.2/Bin/wasm/Noesis.bc(License.o)
>>> defined as (i32) -> i64 in [...]\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\libc-mt-debug.a(emscripten_time.o)
NoesisGUI is apparently compiled with the Emscripten version 3.1.8 [03/24/2022] (https://www.noesisengine.com/docs/Gui.C ... ative.html "Building WebGL").
And we use the latest version (3.1.48) [11/05/2023].
We have done some research and it seems that time_t has been changed to int64 in version 3.1.16 [07/14/2022] :
https://github.com/emscripten-core/emsc ... --07142022
"The type of time_t was restored 64-bit after being converted to 32-bit in 3.1.11. (#17401)"
We found the related commits in the history of the file alltypes.h:
https://github.com/emscripten-core/emsc ... alltypes.h
https://github.com/emscripten-core/emsc ... b9379ee86b
https://github.com/emscripten-core/emsc ... ee4c80fe30
It seems that time_t, as compiled in Noesis.bc, is "long" (potentially int32), which is no longer the case after version 3.1.16 ("_Int64").
So, our question is: is it possible to update and recompile the Noesis lib for WebAssembly with the latest version of Emscripten? Thanks in advance!