Yeah, you can install it easily via apt-get. I followed the instructions to install the very latest version, as the Ubuntu included version was a bit old: https://docs.docker.com/installation/ubuntulinux/. Fig is another tool, which you should be able to install via the Python package manager pip (http://www.fig.sh/install.html). I think I have a working Fig setup now, but haven't figured out how to reach it from the browser yet.
I did run into a potential problem, which was that I wasn't able to build ChucK on Linux with -g4, only -g, since clang didn't accept the -g4 flag. Is -g4 necessary to produce source maps? Arve On Tue, Dec 16, 2014 at 1:30 AM, Alon Zakai <alonza...@gmail.com> wrote: > > I actually don't know anything about docker. Is it trivial to set up > (apt-get)? > > - Alon > > > On Sun, Dec 14, 2014 at 3:08 AM, Arve Knudsen <arve.knud...@gmail.com> > wrote: >> >> Nevermind about the internal compiler error, I was compiling on a machine >> with too little memory, sorry about that. Am working on the Docker/fig >> config now. >> >> Arve >> >> On Sat, Dec 13, 2014 at 10:54 PM, Arve Knudsen <arve.knud...@gmail.com> >> wrote: >>> >>> I have a Docker/Fig config for you, but alas it won't build due to an >>> internal compiler exception when installing Emscripten itself. See issue >>> https://github.com/kripken/emscripten/issues/3078. >>> >>> Arve >>> >>> On Sat, Dec 13, 2014 at 8:49 PM, Arve Knudsen <arve.knud...@gmail.com> >>> wrote: >>>> >>>> Alon, would you be OK with using Docker to test? >>>> >>>> Arve >>>> >>>> On Sat, Dec 13, 2014 at 1:52 AM, Alon Zakai <alonza...@gmail.com> >>>> wrote: >>>> >>>>> Any chance you can make it possible to run just the emscripten part of >>>>> the build process? E.g. running 'make' immediately fails on not having >>>>> 'bison' installed. Also I'd rather not install grunt and other things >>>>> globally. >>>>> >>>>> - Alon >>>>> >>>>> >>>>> >>>>> On Fri, Dec 12, 2014 at 4:06 PM, Arve Knudsen <arve.knud...@gmail.com> >>>>> wrote: >>>>> >>>>>> I forgot to mention that before running grunt, you must've installed >>>>>> it globally (npm install -g grunt-cli) and then run 'npm install' within >>>>>> the 'js' directory. >>>>>> >>>>>> Arve >>>>>> >>>>>> On Sat, Dec 13, 2014 at 12:56 AM, Arve Knudsen < >>>>>> arve.knud...@gmail.com> wrote: >>>>>> >>>>>>> Hi >>>>>>> >>>>>>> I've built ChucK with -g4 (thus producing a sourcemap) and -s >>>>>>> SAFE_HEAP=3, and unsafe memory access is detected while executing ChucK. >>>>>>> However, I am unable to debug the segfault and could use your help. I >>>>>>> tell >>>>>>> Chrome to halt on exceptions, and when exception halts on the segfault, >>>>>>> a >>>>>>> stack trace is produced that looks as follows: >>>>>>> >>>>>>> invoke_iiiii (chuck.js:9199) >>>>>>> _executeCode (__tree:274) >>>>>>> asm._executeCode (chuck_emit.cpp:915) >>>>>>> ccallFunc (chuck.js:534) >>>>>>> (anonymous function) (whole.html:1) >>>>>>> jQuery.event.dispatch (jquery-1.10.2.js:5095) >>>>>>> jQuery.event.add.elemData.handle (jquery-1.10.2.js:4766) >>>>>>> >>>>>>> However, this stacktrace is of little use since it really doesn't >>>>>>> make much sense. When I click on the asm._executeCode frame, the >>>>>>> debugger >>>>>>> enters the C++ function emit_engine_emit_do_while (line 915 of >>>>>>> chuck.emit.cpp). Said line looks like this: >>>>>>> >>>>>>> while( emit->code->stack_cont.size() && >>>>>>> emit->code->stack_cont.back() ) >>>>>>> >>>>>>> First of all, there's no correspondence betwen this function and the >>>>>>> name of the stack frame ('asm._executeCode'). Second, when I click on >>>>>>> the >>>>>>> next frame, it resolves to the function __tree_balance_after_insert (of >>>>>>> file '__tree'). This doesn't make much sense does it?? >>>>>>> >>>>>>> When I let execution continue after the exception, a completely >>>>>>> different looking traceback is printed to the console: >>>>>>> >>>>>>> Uncaught abort() at Error >>>>>>> at jsStackTrace ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:1049:13) >>>>>>> at stackTrace ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:1066:22) >>>>>>> at abort ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:561343:25) >>>>>>> at SAFE_HEAP_LOAD ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:429:87) >>>>>>> at _strlen ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:552513:43) >>>>>>> at Array.__ZNSt3__111char_traitsIcE6lengthEPKc >>>>>>> [std::__1::char_traits<char>::length(char const*)] ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:541966:7) >>>>>>> at Object.dynCall_ii ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:553175:74) >>>>>>> at invoke_ii ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:8873:32) >>>>>>> at >>>>>>> Array.__ZN12_GLOBAL__N_19sporkCodeEP14Chuck_CompilerP8Chuck_VMPKcS5_ >>>>>>> [(anonymous namespace)::sporkCode(Chuck_Compiler*, Chuck_VM*, char >>>>>>> const*, >>>>>>> char const*)] ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:256286:8) >>>>>>> at Object.dynCall_iiiii ( >>>>>>> http://localhost:8000/examples/basic/chuck.js:551097:77) >>>>>>> >>>>>>> How can I debug this exception?? Please help. >>>>>>> >>>>>>> If you like, you can reproduce by: >>>>>>> 1. Check out https://github.com/aknuds1/chuck.git >>>>>>> 2. cd chuck >>>>>>> 3. pushd src && make -j8 CHUCK_DEBUG_LEVEL=4 CHUCK_EM_SAFEHEAP=3 >>>>>>> emscripten && popd && pushd js && grunt >>>>>>> 4. python -m SimpleHTTPServer >>>>>>> 5. Open http://localhost:8000/examples/basic/whole.html in Chrome >>>>>>> (evt. some other browser) >>>>>>> 6. Open the Developer Tools >>>>>>> 7. Enable 'Pause on exceptions' >>>>>>> 8. Click the 'Play' button >>>>>>> >>>>>>> Thanks, >>>>>>> Arve >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> -- >>>>>> 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. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> -- >>>>> 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. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >> 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. >> For more options, visit https://groups.google.com/d/optout. >> > -- > 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. > For more options, visit https://groups.google.com/d/optout. > -- 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. For more options, visit https://groups.google.com/d/optout.