Many thanks, I will give a try. On Friday, 21 February 2020 15:22:56 UTC+1, Alon Zakai wrote: > > > > On Thu, Feb 20, 2020 at 10:43 PM Laurent Pugin <[email protected] > <javascript:>> wrote: > >> Great, thanks! >> >> > (Btw, I noticed your build script compiles serially - might be nice to >> use cmake or a Makefile, as that allow compiling sources in parallel, which >> could speed things up.) >> >> Thanks for the tip, I will look at it. Do you mean using emcmake cmake? >> Any pointers to the doc or a good example, by any chance? >> >> > For example a simple Makefile like this: > > > https://github.com/emscripten-core/emscripten/blob/master/tests/box2d/Makefile > > (replacing the box2d.a with *.js and using emcc instead of AR there, to > link the final executable). You can run that with emmake make -j 8 and it > will use 8 cores, for example. A CMakeLists.txt file with CMake is also an > option if you need more flexibility in the script. > > On Friday, 21 February 2020 04:09:59 UTC+1, Alon Zakai wrote: >>> >>> Thanks Laurent! Fix in >>> >>> https://github.com/emscripten-core/emscripten/pull/10522 >>> >>> This is a very old bug, but was never a problem in practice until we >>> added some new globals recently, and if there are enough other imports they >>> can overlap. >>> >>> (Btw, I noticed your build script compiles serially - might be nice to >>> use cmake or a Makefile, as that allow compiling sources in parallel, which >>> could speed things up.) >>> >>> On Wed, Feb 19, 2020 at 10:46 PM Laurent Pugin <[email protected]> wrote: >>> >>>> >>>> This is it https://github.com/rism-ch/verovio >>>> >>>> Checkout the default (develop) branch, and in ./emscripten run >>>> ./buildToolkit -c -H >>>> >>>> The options a given here >>>> >>>> https://github.com/rism-ch/verovio/blob/fdb371d6a2c3bdee2a8bb177b54455c48e9e5d5d/emscripten/buildToolkit#L77 >>>> >>>> Thanks >>>> >>>> >>>> On Wednesday, 19 February 2020 21:59:35 UTC+1, Alon Zakai wrote: >>>>> >>>>> Thanks, I see. Ok, this looks like a wasm2js bug. >>>>> >>>>> Any chance you can provide the project so I can build locally to test? >>>>> If not, if you can provide the build output with -g1 (so there is >>>>> whitespace) that might (but no sure) be enough to figure this out. >>>>> >>>>> (The -O1 issue is a known limitation of EM_ASM currently. As the error >>>>> suggests, EM_JS is a workaround, which is also better anyhow, so best to >>>>> switch to that.) >>>>> >>>>> On Tue, Feb 18, 2020 at 11:43 PM Laurent Pugin <[email protected]> >>>>> wrote: >>>>> >>>>>> There are no other flags (except for the exported functions). It is >>>>>> using upstream. >>>>>> >>>>>> I tested with other optimization flags. >>>>>> >>>>>> With -O0: it compiles and runs as normal >>>>>> With -O2 and -O3: it compiles but fails to run as reported before >>>>>> With -O1: compilation fails with >>>>>> >>>>>> Fatal: local.get of unknown in arg0 of call to >>>>>> emscripten_asm_const_int (used by EM_ASM* macros) in function 18029. >>>>>> This might be caused by aggressive compiler transformations. Consider >>>>>> using EM_JS instead. >>>>>> shared:ERROR: >>>>>> '/Users/laurent/tools/emsdk/upstream/bin/wasm-emscripten-finalize >>>>>> --detect-features --global-base=1024 >>>>>> /var/folders/wd/7vt44b8n035_qp6k8mt55rdr0000gn/T/emscripten_temp_ue0ycr/verovio.wasm >>>>>> >>>>>> -o >>>>>> /var/folders/wd/7vt44b8n035_qp6k8mt55rdr0000gn/T/emscripten_temp_ue0ycr/verovio.wasm.o.wasm' >>>>>> >>>>>> failed (1) >>>>>> Failed. >>>>>> >>>>>> >>>>>> >>>>>> On Tuesday, 18 February 2020 22:37:49 UTC+1, Alon Zakai wrote: >>>>>>> >>>>>>> Hmm, this is puzzling. Nothing in that range on emscripten looks >>>>>>> suspicious, except perhaps for closure - do you have any other link >>>>>>> flags, >>>>>>> like --closure 1, than those mentioned? >>>>>>> >>>>>>> If that's not it, perhaps this is a regression in Binaryen's >>>>>>> wasm2js. To confirm, this is with 1.39.8 or 1.39.8-upstream, and and >>>>>>> not >>>>>>> 1.39.8-fastcomp? >>>>>>> >>>>>>> Do you also get an error when building with -O0 or -O1? The error >>>>>>> message might be clearer. >>>>>>> >>>>>>> >>>>>>> On Mon, Feb 17, 2020 at 11:16 PM Laurent Pugin <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I have a problem with a project that builds asm.js output with the >>>>>>>> following parameters. >>>>>>>> >>>>>>>> my $FLAGS = "-O3"; >>>>>>>> $FLAGS .= " -DNDEBUG"; >>>>>>>> $FLAGS .= " --memory-init-file 0"; >>>>>>>> $FLAGS .= " -std=c++17"; >>>>>>>> $FLAGS .= " -s ASM_JS=1"; >>>>>>>> $FLAGS .= " -s WASM=0"; >>>>>>>> $FLAGS .= " -s TOTAL_MEMORY=256MB"; >>>>>>>> $FLAGS .= " -s TOTAL_STACK=128MB"; >>>>>>>> >>>>>>>> It generates a single JS file that can be included in a webpage >>>>>>>> within a <script> tag in the header, and then exported function are >>>>>>>> accessible. This used to work fine up to 1.39.7 but fails with 1.39.8. >>>>>>>> Any >>>>>>>> ideas of what has changed between the two versions and how to fix it? >>>>>>>> Thanks >>>>>>>> >>>>>>>> The console throws (Chrome) >>>>>>>> >>>>>>>> verovio-toolkit.js:43 failed to asynchronously prepare wasm: >>>>>>>> ReferenceError: oa is not defined >>>>>>>> (anonymous) @ verovio-toolkit.js:43 >>>>>>>> Promise.then (async) >>>>>>>> instantiateArrayBuffer @ verovio-toolkit.js:43 >>>>>>>> instantiateAsync @ verovio-toolkit.js:43 >>>>>>>> createWasm @ verovio-toolkit.js:43 >>>>>>>> (anonymous) @ verovio-toolkit.js:43 >>>>>>>> verovio-toolkit.js:43 ReferenceError: oa is not defined >>>>>>>> verovio-toolkit.js:43 ReferenceError: oa is not defined >>>>>>>> abort @ verovio-toolkit.js:43 >>>>>>>> (anonymous) @ verovio-toolkit.js:43 >>>>>>>> Promise.then (async) >>>>>>>> instantiateArrayBuffer @ verovio-toolkit.js:43 >>>>>>>> instantiateAsync @ verovio-toolkit.js:43 >>>>>>>> createWasm @ verovio-toolkit.js:43 >>>>>>>> (anonymous) @ verovio-toolkit.js:43 >>>>>>>> verovio-toolkit.js:43 Uncaught (in promise) Error: >>>>>>>> abort(ReferenceError: oa is not defined). Build with -s ASSERTIONS=1 >>>>>>>> for >>>>>>>> more info. >>>>>>>> at abort (verovio-toolkit.js:43) >>>>>>>> at verovio-toolkit.js:43 >>>>>>>> abort @ verovio-toolkit.js:43 >>>>>>>> (anonymous) @ verovio-toolkit.js:43 >>>>>>>> Promise.then (async) >>>>>>>> instantiateArrayBuffer @ verovio-toolkit.js:43 >>>>>>>> instantiateAsync @ verovio-toolkit.js:43 >>>>>>>> createWasm @ verovio-toolkit.js:43 >>>>>>>> (anonymous) @ verovio-toolkit.js:43 >>>>>>>> verovio-toolkit.js:43 Uncaught TypeError: Cannot read property >>>>>>>> 'apply' of undefined >>>>>>>> at Object.Module._vrvToolkit_constructor [as constructor] >>>>>>>> (verovio-toolkit.js:43) >>>>>>>> at new verovio.toolkit (verovio-toolkit.js:135) >>>>>>>> at verovio.js:3 >>>>>>>> Module._vrvToolkit_constructor @ verovio-toolkit.js:43 >>>>>>>> verovio.toolkit @ verovio-toolkit.js:135 >>>>>>>> (anonymous) @ verovio.js:3 >>>>>>>> >>>>>>>> Firefox >>>>>>>> >>>>>>>> failed to asynchronously prepare wasm: ReferenceError: oa is not >>>>>>>> defined verovio-toolkit-light.js:43:10692 >>>>>>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js> >>>>>>>> ReferenceError: oa is not defined verovio-toolkit-light.js:43:9036 >>>>>>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js> >>>>>>>> ReferenceError: oa is not defined verovio-toolkit-light.js:43:9046 >>>>>>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js> >>>>>>>> Error: abort(ReferenceError: oa is not defined). Build with -s >>>>>>>> ASSERTIONS=1 for more info. >>>>>>>> TypeError: Module.asm.vrvToolkit_constructor is undefined >>>>>>>> verovio-toolkit-light.js:43:85119 >>>>>>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js> >>>>>>>> _vrvToolkit_constructor >>>>>>>> http://localhost:4001/javascript/develop/verovio-toolkit-light.js: >>>>>>>> 43 >>>>>>>> toolkit >>>>>>>> http://localhost:4001/javascript/develop/verovio-toolkit-light.js: >>>>>>>> 135 >>>>>>>> <anonymous> http://localhost:4001/midi.xhtml:111 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> 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/9619c413-0463-427e-ae26-27c41942466d%40googlegroups.com >>>>>>>> >>>>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/9619c413-0463-427e-ae26-27c41942466d%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/6fe85c54-f3a2-44c6-bb2c-26002a3e14ef%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/6fe85c54-f3a2-44c6-bb2c-26002a3e14ef%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/119cb9f8-7c60-49e7-b60a-48271818bcc5%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/emscripten-discuss/119cb9f8-7c60-49e7-b60a-48271818bcc5%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] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/emscripten-discuss/6e9cba9b-9896-492e-9724-1941f38d8ab2%40googlegroups.com >> >> <https://groups.google.com/d/msgid/emscripten-discuss/6e9cba9b-9896-492e-9724-1941f38d8ab2%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/f365c31a-0a1e-44b0-b3c7-55e6f1bb267a%40googlegroups.com.
