Since my last thread, I have successfully built a very old version, 1.13.0, of Emscripten (I believe.)
Now I can use it to build ioQuake3 <https://github.com/ioquake/ioq3/>, as proven by QuakeJS <https://github.com/inolen/quakejs>. It should be easy because Quake 3 builds VMs with LLVM, but that is where I am having 3 errors. KeyError - I know Emscripten isn't made to link modules, and I believe that is what error #1 signifies. TypeError - Error #2 is commonly associated with minification/concatenation... AssertionError - Seems to have to do with memory. Anyway, here is that output in the terminal. SHLIB_CC code/qcommon/q_shared.c > CGAME_CC code/cgame/cg_syscalls.c > LD build/release-js-js/baseq3/cgame.js > Traceback (most recent call last): > File "/usr/lib/emscripten/emscripten.py", line 1428, in <module> > _main(environ=os.environ) > File "/usr/lib/emscripten/emscripten.py", line 1416, in _main > temp_files.run_and_clean(lambda: main( > File "/usr/lib/emscripten/tools/tempfiles.py", line 39, in run_and_clean > return func() > File "/usr/lib/emscripten/emscripten.py", line 1424, in <lambda> > DEBUG_CACHE=DEBUG_CACHE, > File "/usr/lib/emscripten/emscripten.py", line 1311, in main > jcache=jcache, temp_files=temp_files, DEBUG=DEBUG, > DEBUG_CACHE=DEBUG_CACHE) > File "/usr/lib/emscripten/emscripten.py", line 1114, in emscript_fast > for key, value in forwarded_json['Variables']['globals'].iteritems(): > KeyError: 'Variables' > > /usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:272 > throw new JS_Parse_Error(message, line, col, pos); > ^ > TypeError: (intermediate value) is not a function > at new JS_Parse_Error > (/usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:261:21) > at js_error > (/usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:272:15) > at croak > (/usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:742:17) > at token_error > (/usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:749:17) > at unexpected > (/usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:755:17) > at block_ > (/usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:998:40) > at > /usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:978:43 > at > /usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:982:29 > at > /usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:1112:43 > at maybe_unary > (/usr/lib/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js:1209:27) > Traceback (most recent call last): > File "/usr/lib/emscripten/emcc", line 1702, in <module> > flush_js_optimizer_queue() > File "/usr/lib/emscripten/emcc", line 1630, in flush_js_optimizer_queue > final = shared.Building.js_optimizer(final, js_optimizer_queue, jcache, > debug_level >= 4, js_optimizer_extra_info) > File "/usr/lib/emscripten/tools/shared.py", line 1449, in js_optimizer > return js_optimizer.run(filename, passes, listify(NODE_JS), jcache, > debug, extra_info) > File "/usr/lib/emscripten/tools/js_optimizer.py", line 347, in run > return temp_files.run_and_clean(lambda: run_on_js(filename, passes, > js_engine, jcache, source_map, extra_info)) > File "/usr/lib/emscripten/tools/tempfiles.py", line 39, in run_and_clean > return func() > File "/usr/lib/emscripten/tools/js_optimizer.py", line 347, in <lambda> > return temp_files.run_and_clean(lambda: run_on_js(filename, passes, > js_engine, jcache, source_map, extra_info)) > File "/usr/lib/emscripten/tools/js_optimizer.py", line 269, in run_on_js > filenames = pool.map(run_on_chunk, commands, chunksize=1) > File "/usr/local/lib/python2.7/multiprocessing/pool.py", line 227, in map > return self.map_async(func, iterable, chunksize).get() > File "/usr/local/lib/python2.7/multiprocessing/pool.py", line 528, in get > raise self._value > AssertionError: Error in js optimizer: > make[2]: *** [Makefile:2301: build/release-js-js/baseq3/cgame.js] Error 1 > rm build/release-js-js/renderergl2/glsl/pshadow_fp.c > build/release-js-js/renderergl2/glsl/pshadow_vp.c > build/release-js-js/renderergl2/glsl/down4x_fp.c > build/release-js-js/renderergl2/glsl/down4x_vp.c > build/release-js-js/renderergl2/glsl/ssao_fp.c > build/release-js-js/renderergl2/glsl/ssao_vp.c > build/release-js-js/renderergl2/glsl/calclevels4x_fp.c > build/release-js-js/renderergl2/glsl/calclevels4x_vp.c > build/release-js-js/renderergl2/glsl/shadowfill_vp.c > build/release-js-js/renderergl2/glsl/lightall_fp.c > build/release-js-js/renderergl2/glsl/lightall_vp.c > build/release-js-js/renderergl2/glsl/generic_fp.c > build/release-js-js/renderergl2/glsl/generic_vp.c > build/release-js-js/renderergl2/glsl/bokeh_vp.c > build/release-js-js/renderergl2/glsl/fogpass_vp.c > build/release-js-js/renderergl2/glsl/bokeh_fp.c > build/release-js-js/renderergl2/glsl/shadowfill_fp.c > build/release-js-js/renderergl2/glsl/dlight_fp.c > build/release-js-js/renderergl2/glsl/dlight_vp.c > build/release-js-js/renderergl2/glsl/fogpass_fp.c > build/release-js-js/renderergl2/glsl/depthblur_fp.c > build/release-js-js/renderergl2/glsl/depthblur_vp.c > build/release-js-js/renderergl2/glsl/shadowmask_fp.c > build/release-js-js/renderergl2/glsl/shadowmask_vp.c > build/release-js-js/renderergl2/glsl/texturecolor_vp.c > build/release-js-js/renderergl2/glsl/texturecolor_fp.c > build/release-js-js/renderergl2/glsl/tonemap_fp.c > build/release-js-js/renderergl2/glsl/tonemap_vp.c > make[2]: Leaving directory '/home/jrs/Server/try3/quakejs/ioq3' > make[1]: *** [Makefile:1325: targets] Error 2 > make[1]: Leaving directory '/home/jrs/Server/try3/quakejs/ioq3' > make: *** [Makefile:1263: release] Error 2 > > Any help trying to sort this out would be appreciated! I have a feeling there's a way to fix this. ( I just cloned QuakeJS. The developer blogged Quake VMs in JS.) In the meantime, I'm going to try installing Java to see if Closure Compiler is necessary. Thanks again, James -- 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]. For more options, visit https://groups.google.com/d/optout.
