-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Closed
Labels
Description
I am running into the following issue when building the cryptography PyO3 module:
RuntimeError: abort(Assertion failed: bad export type for `_emscripten_get_now`: undefined). Build with -s ASSERTIONS=1 for more info.
at abort (http://127.0.0.1:32797/pyodide.asm.js:10:234384)
at assert (http://127.0.0.1:32797/pyodide.asm.js:10:224838)
at Object.reportUndefinedSymbols (http://127.0.0.1:32797/pyodide.asm.js:10:319214)
wasm-objdump
shows that we are trying to import emscripten_get_now
:
$ cryptography_rust.so -j Import -x | grep emscripten_get_now
- func[62] sig=57 <env._emscripten_get_now> <- env._emscripten_get_now
- global[57] i32 mutable=1 <- GOT.func._emscripten_get_now
but resolveGlobalSymbol("emscripten_get_now")
returns undefined and so we get an error from reportUndefinedSymbols
.
Adding the lines
Module["__emscripten_get_now"] = Module["_emscripten_get_now"];
Module["__emscripten_get_now"].sig = "d";
fixes the problem.