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.

Reply via email to