Skip to content

Building quakejs on emscripten 1.37.19 #5491

Closed
@iRedField

Description

@iRedField

Hi everyone!
I've error when trying build quake js.
My environment:
OS: Linux kali 4.3.0-kali1-amd64 #1 SMP Debian 4.3.3-5kali4 (2016-01-13) x86_64 GNU/Linux
Python: 2.7.11
Java: 7u91-2.6.3-1
NodeJs: 4.1.1
Emscripten: 1.37.19
clang: 4.0.0 (emscripten 1.37.19 : 1.37.19)
EMSCRIPTEN_NATIVE_OPTIMIZER: clang/e1.37.19_64bit/optimizer

My commands:
1. emsdk update
2. emsdk install latest
3. emsdk activate latest
4. source emsdk_env.sh
5. git clone --recursive https://github.com/inolen/quakejs.git

6. edit Makefile

ifeq ($(USE_GIT),1)
#  $(B)/client/cl_console.o : .git/index
#  $(B)/client/common.o : .git/index
#  $(B)/ded/common.o : .git/index
  $(B)/client/cl_console.o : ../.git/modules/ioq3/index
  $(B)/client/common.o : ../.git/modules/ioq3/index
  $(B)/ded/common.o : ../.git/modules/ioq3/index

7. Check Emscripten installation
emcc -v

DEBUG:root:PYTHON not defined in /root/.emscripten, using "/usr/bin/python"
DEBUG:root:JAVA not defined in /root/.emscripten, using "java"
DEBUG:root:Cache: PID 49611 acquiring multiprocess file lock to Emscripten cache
DEBUG:root:Cache: done
DEBUG:root:Cache: PID 49611 released multiprocess file lock to Emscripten cache
DEBUG:root:check tells us to use asm.js backend
WARNING:root:invocation: /usr/emsdk-portable/emscripten/1.37.19/emcc -v  (in /root/quakejs/ioq3)
DEBUG:root:Checking JS engine ['/usr/emsdk-portable/node/4.1.1_64bit/bin/node']
INFO:root:(Emscripten: Running sanity checks)
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.37.19
clang version 4.0.0  (emscripten 1.37.19 : 1.37.19)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/emsdk-portable/clang/e1.37.19_64bit
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.1
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.1
Candidate multilib: .;@m64
Selected multilib: .;@m64
INFO:root:(Emscripten: Running sanity checks)

8. emcc --clear-cache

9. make PLATFORM=js EMSCRIPTEN=/usr/emsdk-portable/emscripten/1.37.19

Trace log:

error: failure to execute js library "/root/quakejs/ioq3/code/sys/sys_common.js": TypeError: Runtime.generateStructInfo is not a function,,TypeError: Runtime.generateStructInfo is not a function
    at eval (eval at <anonymous> (eval at globalEval (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:105:8)), <anonymous>:54:25)
    at Object.LibraryManager.load (eval at globalEval (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:105:8), <anonymous>:174:9)
    at JSify (eval at globalEval (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:105:8), <anonymous>:59:20)
    at /root/quakejs/ioq3/code/sys/sys_common.js (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:208:3)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:475:10)
    at startup (node.js:117:18)
preprocessed source (you can run a js engine on this to get a clearer error message sometimes):

etc.

Internal compiler error in src/compiler.js! Please raise a bug report at https://github.com/kripken/emscripten/issues/ with a log of the build and the input files used to run. Exception message: "TypeError: Runtime.generateStructInfo is not a function" | TypeError: Runtime.generateStructInfo is not a function
    at eval (eval at <anonymous> (eval at globalEval (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:105:8)), <anonymous>:54:25)
    at Object.LibraryManager.load (eval at globalEval (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:105:8), <anonymous>:174:9)
    at JSify (eval at globalEval (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:105:8), <anonymous>:59:20)
    at Object.<anonymous> (/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js:208:3)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:475:10)
    at startup (node.js:117:18)
Traceback (most recent call last):
  File "/usr/emsdk-portable/emscripten/1.37.19/emcc", line 13, in <module>
    emcc.run()
  File "/usr/emsdk-portable/emscripten/1.37.19/emcc.py", line 1515, in run
    final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args)
  File "/usr/emsdk-portable/emscripten/1.37.19/tools/shared.py", line 2020, in emscripten
    call_emscripten(cmdline)
  File "/usr/emsdk-portable/emscripten/1.37.19/emscripten.py", line 2214, in _main
    temp_files.run_and_clean(lambda: main(
  File "/usr/emsdk-portable/emscripten/1.37.19/tools/tempfiles.py", line 78, in run_and_clean
    return func()
  File "/usr/emsdk-portable/emscripten/1.37.19/emscripten.py", line 2219, in <lambda>
    DEBUG=DEBUG,
  File "/usr/emsdk-portable/emscripten/1.37.19/emscripten.py", line 2119, in main
    temp_files=temp_files, DEBUG=DEBUG)
  File "/usr/emsdk-portable/emscripten/1.37.19/emscripten.py", line 98, in emscript
    glue, forwarded_data = compiler_glue(metadata, settings, libraries, compiler_engine, temp_files, DEBUG)
  File "/usr/emsdk-portable/emscripten/1.37.19/emscripten.py", line 222, in compiler_glue
    glue, forwarded_data = compile_settings(compiler_engine, settings, libraries, temp_files)
  File "/usr/emsdk-portable/emscripten/1.37.19/emscripten.py", line 535, in compile_settings
    cwd=path_from_root('src'), error_limit=300)
  File "/usr/emsdk-portable/emscripten/1.37.19/tools/jsrun.py", line 131, in run_js
    raise Exception('Expected the command ' + str(command) + ' to finish with return code ' + str(assert_returncode) + ', but it returned with code ' + str(proc.returncode) + ' instead! Output: ' + str(ret)[:error_limit])
Exception: Expected the command ['/usr/emsdk-portable/node/4.1.1_64bit/bin/node', '/usr/emsdk-portable/emscripten/1.37.19/src/compiler.js', '/tmp/emscripten_temp/tmpdwC2hW.txt', '/root/quakejs/ioq3/code/sys/sys_common.js', '/root/quakejs/ioq3/code/sys/sys_node.js', '/root/quakejs/ioq3/code/qcommon/vm_js.js', '/usr/emsdk-portable/emscripten/1.37.19/src/library_pthread_stub.js'] to finish with return code 0, but it returned with code 1 instead! Output: // The Module object: Our interface to the outside world. We import
// and export values on it, and do the work to get that through
// closure compiler if necessary. There are various ways Module can be used:
// 1. Not defined. We create it here
// 2. A function parameter, function(Module) { ..gener
Makefile:2260: recipe for target 'build/release-js-js/ioq3ded.js' failed
make[2]: *** [build/release-js-js/ioq3ded.js] Error 1
make[2]: Leaving directory '/root/quakejs/ioq3'
Makefile:1289: recipe for target 'targets' failed
make[1]: *** [targets] Error 2
make[1]: Leaving directory '/root/quakejs/ioq3'
Makefile:1263: recipe for target 'release' failed
make: *** [release] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions