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.

Reply via email to