Closed
Description
Version of emscripten/emsdk:
emcc -v
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.34 (57b21b8)
clang version 17.0.0 (https://github.com/llvm/llvm-project a031f72187ce495b9faa4ccf99b1e901a3872f4b)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /emsdk/upstream/bin
Failing command line in full:
warning: undefined symbol: emscripten_longjmp (referenced by top-level compiled C/C++ code)
emcc: warning: warnings in JS library compilation [-Wjs-compiler]
Traceback (most recent call last):
File "/emsdk/upstream/emscripten/emcc.py", line 4420, in <module>
sys.exit(main(sys.argv))
File "/usr/lib/python3.10/contextlib.py", line 79, in inner
return func(*args, **kwds)
File "/emsdk/upstream/emscripten/emcc.py", line 4413, in main
ret = run(args)
File "/emsdk/upstream/emscripten/emcc.py", line 1358, in run
phase_post_link(options, state, wasm_target, wasm_target, target)
File "/usr/lib/python3.10/contextlib.py", line 79, in inner
return func(*args, **kwds)
File "/emsdk/upstream/emscripten/emcc.py", line 3124, in phase_post_link
phase_emscript(options, in_wasm, wasm_target, memfile)
File "/usr/lib/python3.10/contextlib.py", line 79, in inner
return func(*args, **kwds)
File "/emsdk/upstream/emscripten/emcc.py", line 3151, in phase_emscript
emscripten.run(in_wasm, wasm_target, final_js, memfile)
File "/emsdk/upstream/emscripten/emscripten.py", line 945, in run
emscript(in_wasm, out_wasm, outfile_js, memfile)
File "/emsdk/upstream/emscripten/emscripten.py", line 433, in emscript
module = create_module(receiving, metadata, forwarded_json['librarySymbols'])
File "/emsdk/upstream/emscripten/emscripten.py", line 831, in create_module
assert not metadata.invokeFuncs, "invoke_ functions exported but exceptions and longjmp are both disabled"
AssertionError: invoke_ functions exported but exceptions and longjmp are both disabled
Full link command and output with -v
appended:
/emsdk/upstream/emscripten/emcc -O2 -fwasm-exceptions -s USE_ZLIB=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s USE_LIBJPEG=1 -s ENVIRONMENT='worker' -s MODULARIZE=1 -s ALLOW_MEMORY_GROWTH=1 -s 'EXPORTED_RUNTIME_METHODS=["cwrap", "FS"]' -s ERROR_ON_UNDEFINED_SYMBOLS=0 -lworkerfs.js [...]
The ports for libpng and libfreetype are use emscripten_longjmp. Is there a simple way to modify this behavior? Can i pass -s SUPPORT_LONGJMP=wasm
to port build?
Metadata
Metadata
Assignees
Labels
No labels