-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ports libpng and libfreetype uses emscripten_longjmp (-s SUPPORT_LONGJMP=wasm) #19001
Comments
Probably obvious, but for the sake of others who follow the same path as myself and end up here -- this issue also arises even when libpng and / or libfreetype are only transitive dependencies, which is the case if using SDL2_Image with png support ( While I can confirm the SDL2_image+png case, the SDL2_ttf+libfreetype case is only assumed. I tried adding Removing png from the For additional context: the root of the issue is that the value of the Platform info: $ em++ -v
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.33 (c1927f22708aa9a26a5956bab61de083e8d3e463)
clang version 17.0.0 (https://github.com/llvm/llvm-project 671eeece457f6a5da7489f7b48f7afae55327b8b)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /Users/<redacted>/src/emsdk/upstream/bin |
So one of these libraries uses setjmp/longjmp. Do you know which one it is? I wonder if we can build that library without the setjmp/longjmp usage? Building a custom Can you confirm if freetype that is using setjmp/longjmp? |
I used *library_port_path is only a placeholder The problem started for me with the change in 3.1.32.
|
Also for reference Re: libpng: (@sbc100 is probably already aware of this though, as the comment in the link is in response to their own question in a similar thread 😉 ) |
For libpng we simply avoid the use of setjmp/longjmp completely. For libfreetype the use of setjmp/longjmp is not optional so we build a variant of the library that uses wasm exceptions for setjmp/longjmp support. Fixes: #19001
For libpng we simply avoid the use of setjmp/longjmp completely. For libfreetype the use of setjmp/longjmp is not optional so we build a variant of the library that uses wasm exceptions for setjmp/longjmp support. Fixes: #19001
For libpng we simply avoid the use of setjmp/longjmp completely. For libfreetype the use of setjmp/longjmp is not optional so we build a variant of the library that uses wasm exceptions for setjmp/longjmp support. Fixes: #19001
For libpng we simply avoid the use of setjmp/longjmp completely. For libfreetype the use of setjmp/longjmp is not optional so we build a variant of the library that uses wasm exceptions for setjmp/longjmp support. Fixes: #19001
For libpng we simply avoid the use of setjmp/longjmp completely. For libfreetype the use of setjmp/longjmp is not optional so we build a variant of the library that uses wasm exceptions for setjmp/longjmp support. Fixes: #19001
For libpng we simply avoid the use of setjmp/longjmp completely. For libfreetype the use of setjmp/longjmp is not optional so we build a variant of the library that uses wasm exceptions for setjmp/longjmp support. Fixes: #19001
Sadly, even though libpng can be compiled with setjmp/longjmp support some libraries such as openjpeg assume that setjmp support is included. Fixes: #19001
Sadly, even though libpng can be compiled with setjmp/longjmp support some libraries such as openjpeg assume that setjmp support is included. Fixes: #19001
) Sadly, even though libpng can be compiled with setjmp/longjmp support some libraries such as openjpeg assume that setjmp support is included. Fixes: #19001
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:
Full link command and output with
-v
appended: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?The text was updated successfully, but these errors were encountered: