Hey there,

I can't seem to get the closure compiler to work, using the -s USE_GLFW3 
and -Os flags. 
Without either of them, everything is fine. Am I missing something?

I'm using emscripten 1.37.36 and my OS is Linux Mint 18.2 Cinnamon 64-bit.


Using said flags together results in 2 errors and 41 warnings:


Traceback (most recent call last):
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/em++", 
line 15, in <module>
    python_selector.run(emcc, profile=True)
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/python_selector.py",
 
line 43, in run
    sys.exit(run_by_import(filename, main) if on_allowed_version() else 
run_by_subprocess(filename))
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/python_selector.py",
 
line 13, in run_by_import
    return getattr(importlib.import_module(os.path.basename(filename)), 
main)()
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/emcc.py", 
line 1847, in run
    optimizer.flush()
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/emcc.py", 
line 239, in flush
    self.run_passes(chunks[0], title, just_split=False, just_concat=False)
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/emcc.py", 
line 274, in run_passes
    output_filename=self.in_temp(os.path.basename(final) + '.jsopted.js'))
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/shared.py",
 
line 2074, in js_optimizer
    ret = js_optimizer.run(filename, passes, NODE_JS, debug, extra_info, 
just_split, just_concat)
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/js_optimizer.py",
 
line 557, in run
    return temp_files.run_and_clean(lambda: run_on_js(filename, passes, 
js_engine, source_map, extra_info, just_split, just_concat))
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/tempfiles.py",
 
line 93, in run_and_clean
    return func()
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/js_optimizer.py",
 
line 557, in <lambda>
    return temp_files.run_and_clean(lambda: run_on_js(filename, passes, 
js_engine, source_map, extra_info, just_split, just_concat))
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/js_optimizer.py",
 
line 492, in run_on_js
    cld = shared.Building.closure_compiler(cld, pretty='minifyWhitespace' 
not in passes)
  File 
"/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/tools/shared.py",
 
line 2206, in closure_compiler
    raise Exception('closure compiler error: ' + process.stdout + ' (rc: 
%d)' % process.returncode)
Exception: closure compiler error: 
/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/third_party/closure-compiler/node-externs/domain.js:67:
 
WARNING - Bad type annotation. type not recognized due to syntax error. See 
https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for 
more information.
 * @param {function(...[*])} callback
                       ^

/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/third_party/closure-compiler/node-externs/domain.js:68:
 
WARNING - Bad type annotation. type not recognized due to syntax error. See 
https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for 
more information.
 * @return {function(...[*])}
                        ^

/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/third_party/closure-compiler/node-externs/domain.js:73:
 
WARNING - Bad type annotation. type not recognized due to syntax error. See 
https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for 
more information.
 * @param {function(...[*])} callback
                       ^

/home/kevin/Projects/C++/external/emsdk-portable/emscripten/1.37.36/third_party/closure-compiler/node-externs/domain.js:74:
 
WARNING - Bad type annotation. type not recognized due to syntax error. See 
https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for 
more information.
 * @return {function(...[*])}
                        ^

/tmp/tmpspMPXo.cl.js:2351: WARNING - dangerous use of the global this object
        this.id = id;
        ^^^^

/tmp/tmpspMPXo.cl.js:2352: WARNING - dangerous use of the global this object
        this.x = 0;
        ^^^^

/tmp/tmpspMPXo.cl.js:2353: WARNING - dangerous use of the global this object
        this.y = 0;
        ^^^^

/tmp/tmpspMPXo.cl.js:2354: WARNING - dangerous use of the global this object
        this.fullscreen = false; // Used to determine if app in fullscreen 
mode
        ^^^^

/tmp/tmpspMPXo.cl.js:2355: WARNING - dangerous use of the global this object
        this.storedX = 0; // Used to store X before fullscreen
        ^^^^

/tmp/tmpspMPXo.cl.js:2356: WARNING - dangerous use of the global this object
        this.storedY = 0; // Used to store Y before fullscreen
        ^^^^

/tmp/tmpspMPXo.cl.js:2357: WARNING - dangerous use of the global this object
        this.width = width;
        ^^^^

/tmp/tmpspMPXo.cl.js:2358: WARNING - dangerous use of the global this object
        this.height = height;
        ^^^^

/tmp/tmpspMPXo.cl.js:2359: WARNING - dangerous use of the global this object
        this.storedWidth = width; // Used to store width before fullscreen
        ^^^^

/tmp/tmpspMPXo.cl.js:2360: WARNING - dangerous use of the global this object
        this.storedHeight = height; // Used to store height before 
fullscreen
        ^^^^

/tmp/tmpspMPXo.cl.js:2361: WARNING - dangerous use of the global this object
        this.title = title;
        ^^^^

/tmp/tmpspMPXo.cl.js:2362: WARNING - dangerous use of the global this object
        this.monitor = monitor;
        ^^^^

/tmp/tmpspMPXo.cl.js:2363: WARNING - dangerous use of the global this object
        this.share = share;
        ^^^^

/tmp/tmpspMPXo.cl.js:2364: WARNING - dangerous use of the global this object
        this.attributes = GLFW.hints;
        ^^^^

/tmp/tmpspMPXo.cl.js:2365: WARNING - dangerous use of the global this object
        this.inputModes = {
        ^^^^

/tmp/tmpspMPXo.cl.js:2370: WARNING - dangerous use of the global this object
        this.buttons = 0;
        ^^^^

/tmp/tmpspMPXo.cl.js:2371: WARNING - dangerous use of the global this object
        this.keys = new Array();
        ^^^^

/tmp/tmpspMPXo.cl.js:2372: WARNING - dangerous use of the global this object
        this.domKeys = new Array();
        ^^^^

/tmp/tmpspMPXo.cl.js:2373: WARNING - dangerous use of the global this object
        this.shouldClose = 0;
        ^^^^

/tmp/tmpspMPXo.cl.js:2374: WARNING - dangerous use of the global this object
        this.title = null;
        ^^^^

/tmp/tmpspMPXo.cl.js:2375: WARNING - dangerous use of the global this object
        this.windowPosFunc = null; // GLFWwindowposfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2376: WARNING - dangerous use of the global this object
        this.windowSizeFunc = null; // GLFWwindowsizefun
        ^^^^

/tmp/tmpspMPXo.cl.js:2377: WARNING - dangerous use of the global this object
        this.windowCloseFunc = null; // GLFWwindowclosefun
        ^^^^

/tmp/tmpspMPXo.cl.js:2378: WARNING - dangerous use of the global this object
        this.windowRefreshFunc = null; // GLFWwindowrefreshfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2379: WARNING - dangerous use of the global this object
        this.windowFocusFunc = null; // GLFWwindowfocusfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2380: WARNING - dangerous use of the global this object
        this.windowIconifyFunc = null; // GLFWwindowiconifyfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2381: WARNING - dangerous use of the global this object
        this.framebufferSizeFunc = null; // GLFWframebuffersizefun
        ^^^^

/tmp/tmpspMPXo.cl.js:2382: WARNING - dangerous use of the global this object
        this.mouseButtonFunc = null; // GLFWmousebuttonfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2383: WARNING - dangerous use of the global this object
        this.cursorPosFunc = null; // GLFWcursorposfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2384: WARNING - dangerous use of the global this object
        this.cursorEnterFunc = null; // GLFWcursorenterfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2385: WARNING - dangerous use of the global this object
        this.scrollFunc = null; // GLFWscrollfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2386: WARNING - dangerous use of the global this object
        this.dropFunc = null; // GLFWdropfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2387: WARNING - dangerous use of the global this object
        this.keyFunc = null; // GLFWkeyfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2388: WARNING - dangerous use of the global this object
        this.charFunc = null; // GLFWcharfun
        ^^^^

/tmp/tmpspMPXo.cl.js:2389: WARNING - dangerous use of the global this object
        this.userptr = null;
        ^^^^

/tmp/tmpspMPXo.cl.js:3004: WARNING - If this if/for/while really shouldn't 
have a body, use {}
        for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; 
i++);
                                                                            
 ^

/tmp/tmpspMPXo.cl.js:3020: WARNING - If this if/for/while really shouldn't 
have a body, use {}
        for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; 
i++);
                                                                            
^

/tmp/tmpspMPXo.cl.js:2615: ERROR - variable eventButton is undeclared
        eventButton = GLFW.DOMToGLFWMouseButton(event);
        ^^^^^^^^^^^

/tmp/tmpspMPXo.cl.js:3064: ERROR - variable table is undeclared
        table = {
        ^^^^^

2 error(s), 41 warning(s)



-- 
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