On Thu, Oct 13, 2022 at 11:39 PM 'Sam Clegg' via emscripten-discuss < [email protected]> wrote:
> In general it is not possible to swap the JS and wasm files that > emscripten generates. The JS is highly specific to the wasm module, and > not portable between wasm modules. > Okay, so the problem with using emscripten toolchain from Skia is that the *.html* file is empty. When we use the template https://github.com/emscripten-core/emscripten/blob/main/src/shell_minimal.html and refer the script to the generated JS. It is not loading the *.wasm* module (and not throwing any error/warning in the console to understand). Is the *.html *generated also very specific ? We have shared the gist with the JS generated, let us know if anything stands out. > > IIRC many folks have had success compiling skia to wasm already. Have you > looked at https://skia.org/docs/user/modules/canvaskit/? > Yes, we are following Canvaskit, the use-case here is little different, in that using Canvaskit, the drawing application/code has to be written with Canvaskit API and JS. What we are trying to achieve is a C++ based drawing module using native Skia API's, and the whole package would be compiled to wasm. > > > On Thu, Oct 13, 2022 at 10:21 AM Sohan Jyoti Ghosh <[email protected]> > wrote: > >> Thanks for getting back. >> >> On Thu, Oct 13, 2022 at 7:29 PM 'Sam Clegg' via emscripten-discuss < >> [email protected]> wrote: >> >>> Can you share the full link command you are using? >>> >>> So, we are trying to build the simple skia hello_world c++ app via wasm, >> to be playable inside the browser. >> We are trying to setup the SDL2 backend for skia with >> https://skia-review.googlesource.com/c/skia/+/573643 >> >> Here, is our build command for hello_world.wasm, which internally invokes >> emscripten toolchain >> *bazel build //example:hello_world_wasm >> --noincompatible_enable_cc_toolchain_resolution* >> >> Can you take a look at the generated JS file? Do you see the >>> `_embind_register_void` function in that file? It should be defined as a >>> function then added to the `asmLibraryArg` object which gets passed to >>> instantiate. >>> >>> The generated JS file ( >> https://gist.github.com/sohanjg/a38f509275b84279e98c097c81c9b5e2) doesnt have >> `_embind_register_void`. Also the originally generated files somehow >> wasn't able to load the wasm without throwing errors. So, we changed an >> existing simple emscripten generated helloworld.js (which was almost >> identical) to refer to the wasm generated by skia. >> >> cheers, >>> sam >>> >>> Br, >> Sohan >> >>> On Thu, Oct 13, 2022 at 7:30 AM Sohan Jyoti Ghosh <[email protected]> >>> wrote: >>> >>>> Hi ! >>>> >>>> I am getting errors while instantiating Array Buffer, >>>> * WebAssembly.instantiate(binary, info)* >>>> >>>> The error is, >>>> *"Uncaught (in promise) RuntimeError: Aborted(LinkError: >>>> WebAssembly.instantiate(): Import #1 module="env" >>>> function="_embind_register_void" error: function import requires a >>>> callable)"* >>>> >>>> Any pointers, how "env" obj is missing the function ? And how to >>>> resolve it ? I am using the JS template coming out of emscripten. >>>> Is there some error in building the .wasm ? Nothing is reported on the >>>> build log though. >>>> >>>> Br, >>>> Sohan >>>> >>>> -- >>>> 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 [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/emscripten-discuss/1b7778de-a61c-44fe-9b65-3479dfdbbc1dn%40googlegroups.com >>>> <https://groups.google.com/d/msgid/emscripten-discuss/1b7778de-a61c-44fe-9b65-3479dfdbbc1dn%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 [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va29KUrmS82TbqrzuGMU36fZDHdVpJsLG7fne2kg7o9CjqA%40mail.gmail.com >>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va29KUrmS82TbqrzuGMU36fZDHdVpJsLG7fne2kg7o9CjqA%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 [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/emscripten-discuss/CAOtrQ7ys8aWVjkRXCgdyvYvucNkeUhA6BrKEHiUAyj3w7tCJyA%40mail.gmail.com >> <https://groups.google.com/d/msgid/emscripten-discuss/CAOtrQ7ys8aWVjkRXCgdyvYvucNkeUhA6BrKEHiUAyj3w7tCJyA%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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-%2BefpSXiyFkF3KjoHJagX737FSKZuq79prEeQpQGb%3DAQ%40mail.gmail.com > <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-%2BefpSXiyFkF3KjoHJagX737FSKZuq79prEeQpQGb%3DAQ%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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAOtrQ7w-Ud%2BXGzWVR48HNNTt4F2qM1iBE%2BTNy7bzjWLQ2tWj1w%40mail.gmail.com.
