Thanks for pointing in the right direction @Floh. Got it to compile properly finally.
On Wed, May 12, 2021 at 3:10 PM Joe <[email protected]> wrote: > Hi @Floh. I think you are right. Do you know how I can compile the opencv > library files into static ones without the threading support? I was having > a lot of trouble doing it using emcmake so I actually got that particular > one after a lot of googling in the past and I do not know how it was built > back then. So you are probably right in that the way it was compiled would > have been with threading support. > > On Wed, May 12, 2021 at 2:45 PM Floh <[email protected]> wrote: > >> Looks to me like that opencv library has been compiled with threading >> support. >> >> See this issue thread: >> https://github.com/emscripten-core/emscripten/issues/13152 >> >> Threading on WASM comes with all sorts of unfortunate caveats. Even if >> the browser's WASM engine supports threading in general, the feature is >> locked behind specific HTTP response headers (so apart from requiring a >> supported browser you also need control over the web server's >> configuration, e.g. just using one of the popular cloud hosting services >> may or may not work). >> >> On Wednesday, 12 May 2021 at 09:38:16 UTC+2 [email protected] wrote: >> >>> Hi, I have a cpp program which uses opencv modules and I have >>> successfully compiled it to webassembly using emscripten. It works very >>> well on chrome in my macbook. However when I tried to load the page through >>> localhost in my phone using android chrome it threw the following error. >>> >>> Uncaught (in promise) RuntimeError: abort(CompileError: >>> WebAssembly.instantiate(): Compiling function #21 failed: Invalid opcode >>> 0xfe (enable with --experimental-wasm-threads) @+5378). Build with -s >>> ASSERTIONS=1 for more info. >>> >>> So I tried to figure out what was causing this and understood that it >>> only happens after I have used a static library from opencv to build my >>> wasm app using the following command. >>> >>> emcc -O3 -o hello.js -s >>> -I/Users/user1/MyDocuments/work/new/emscripten_playground/playground >>> libopencv_core.a hello.cpp -s WASM=1 -s >>> EXTRA_EXPORTED_RUNTIME_METHODS='["cwrap"]' -s SINGLE_FILE=1 >>> >>> if I take out the libopencv_core.a and remove the lines that use stuff >>> from that module, the wasm loads without any warnings in the android chrome. >>> But I need to use those modules. >>> Please tell me if you got any idea about how to solve this problem. >>> Also if I enable the experimental webassembly flag in the android chrome >>> it works without any problems. But I don't think I can do that through code >>> so I need to find a way to fix this without the experimental flag. There >>> has to be a way because opencv.js(wasm embedded) that is available from the >>> opencv documentation runs without any errors on the android chrome . >>> >>> -- >> 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/DgiF0eaVaAI/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/emscripten-discuss/92ca6637-80cf-4a74-88b3-19babcfdd06fn%40googlegroups.com >> <https://groups.google.com/d/msgid/emscripten-discuss/92ca6637-80cf-4a74-88b3-19babcfdd06fn%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/CAEEkPqC7PYK8YOj7bYVLU56P0Ufxhzi7z4%2BG8eTkhjynQa5AJQ%40mail.gmail.com.
