Regarding the missing malloc export, I uploaded a fix here: https://github.com/emscripten-core/emscripten/pull/22198
cheers, sam On Sat, Jul 6, 2024 at 7:20 PM Ivan Enzhaev <8observ...@gmail.com> wrote: > I have solved it! > ```cmake > if(CMAKE_SYSTEM_NAME MATCHES Emscripten) > set(CMAKE_EXECUTABLE_SUFFIX ".html" CACHE INTERNAL "") > > target_link_options("${EXECUTABLE_NAME}" PRIVATE "-lwebsocket.js") > ``` > > On Sun, Jul 7, 2024 at 5:37 AM Ivan Enzhaev <8observ...@gmail.com> wrote: > >> rajsite helped here: >> https://discord.com/channels/453584038356058112/590215642444202044/1259309132440277072 >> I should use a loop. I try SDL3 with this template: >> https://github.com/Ravbug/sdl3-sample I need to add -lwebsocket.js to >> CMakeLists.txt. I try this: SET(EMSCRIPTEN_LINK_FLAGS "-lwebsocket.js") >> But it didn't help >> >> On Sun, Jul 7, 2024 at 4:39 AM Ivan Enzhaev <8observ...@gmail.com> wrote: >> >>> Hello, >>> >>> I try to run the shorter version this example: >>> https://gist.github.com/nus/564e9e57e4c107faa1a45b8332c265b9 >>> >>> I compile with this command: emcc -lwebsocket.js -g >>> src/client/main.cpp -o public/main.html >>> It compiles without problems: >>> >>> ``` >>> emcc -lwebsocket.js -g src/client/main.cpp -o public/main.html >>> cache:INFO: generating system asset: >>> symbol_lists/f1b6fbba91d4f7c17e21f323c8df509adb00db34.json... (this will be >>> cached in >>> "C:\emsdk\upstream\emscripten\cache\symbol_lists\f1b6fbba91d4f7c17e21f323c8df509adb00db34.json" >>> for subsequent builds) >>> ``` >>> >>> ```cpp >>> #include <emscripten/websocket.h> >>> >>> #include <iostream> >>> >>> EM_BOOL onopen(int eventType, const EmscriptenWebSocketOpenEvent >>> *websocketEvent, void *userData) { >>> std::cout << "onopen" << std::endl; >>> return EM_TRUE; >>> } >>> >>> int main() >>> { >>> EmscriptenWebSocketCreateAttributes ws_attrs = { >>> "wss://localhost:3000", >>> NULL, >>> EM_TRUE >>> }; >>> >>> EMSCRIPTEN_WEBSOCKET_T ws = emscripten_websocket_new(&ws_attrs); >>> emscripten_websocket_set_onopen_callback(ws, NULL, onopen); >>> return 0; >>> } >>> ``` >>> >>> But I have the error in the browser: >>> >>> ``` >>> >>> main.js:666 Aborted(malloc() called but not included in the build - add >>> '_malloc' to EXPORTED_FUNCTIONS) >>> main.js:685 Uncaught (in promise) >>> RuntimeError: Aborted(malloc() called but not included in the build - >>> add '_malloc' to EXPORTED_FUNCTIONS) at abort (main.js:685:11) at >>> _malloc (main.js:379:3) at >>> _emscripten_websocket_set_onopen_callback_on_thread (main.js:1219:45) at >>> __original_main (main.wasm:0x156f) at main (main.wasm:0x2584) at >>> main.js:723:22 at callMain (main.js:4625:15) at doRun (main.js:4675:23) at >>> run (main.js:4690:5) at runCaller (main.js:4610:19) >>> ``` >>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "emscripten-discuss" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/emscripten-discuss/_gTgnzwnWWU/unsubscribe >>> . >>> To unsubscribe from this group and all its topics, send an email to >>> emscripten-discuss+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/emscripten-discuss/212285fa-314f-4ac5-9e55-248132892f86n%40googlegroups.com >>> <https://groups.google.com/d/msgid/emscripten-discuss/212285fa-314f-4ac5-9e55-248132892f86n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to emscripten-discuss+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/CAPxskvHb-qJg0aoQEWvgS82wSkxwFWpBJw_fxu9YN0AkkR%2BNcA%40mail.gmail.com > <https://groups.google.com/d/msgid/emscripten-discuss/CAPxskvHb-qJg0aoQEWvgS82wSkxwFWpBJw_fxu9YN0AkkR%2BNcA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-2uwzwRJBdV4RYm7Gu-EfCRj8RNkf9NP9_TK03NghCWg%40mail.gmail.com.