Analytics in webGL no go?

i build and get this

Building Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js failed with output:
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: "Error: ENOENT: no such file or directory, open 'Z:\ZombieMiner 2021\Packages\com.unity.analytics\Plugins\WindowUtil.jslib'" | Error: ENOENT: no such file or directory, open 'Z:\ZombieMiner 2021\Packages\com.unity.analytics\Plugins\WindowUtil.jslib'

analytics not allowed because of browser security?

weird it’s not picked up at compile

Which Unity version?

2020.3

Hmm, can you elaborate on the point “weird it’s not picked up at compile”? This error message should be a WebGL project compile time message.

In any case, this is clearly a Unity bug. I see we had internal discussion about this just last week, and are now tracking this issue, and from what I can read in the bug database, it is marked as a regression that is currently happening only in the 2021.2 alpha builds. Are you sure you weren’t on Unity 2021.2 alpha version? The first line “Library\Bee\artifacts.…” also suggests that this would have been made on 2021.2 alpha, since that “Bee” directory name should only exist in 2021.2 alpha, not on 2020.3.

If you have this issue occurring on already released 2020.3 builds, we should treat this regression with priority. Can you detail exactly which Unity point release version you are using, and which earlier version still worked for you to do builds? Also, please open a bug report about this, whereas before we thought this was still an alpha release glitch, if this is actually a regression that has made its way to release, we want to make sure that we are on top of tracking the issue in the specific version where it broke.

I built it in 3 versions of unity to check which was better and one of them was much smaller so I kept it, lemme see… yep it’s 2021.2 and not 2020.3
you recommdn i use 2020.3 if i want analytics?

Thanks for the testing, very much appreciated. Good to hear that the regression range matches our expectations, and doubly good to catch the regression while 2021.2 is still in Alpha, and way before release still.

For smallest builds, I’ll recommend the upcoming 2021.2 Beta, it should improve the compiler backend (and also fix that regression asap, as it is currently being worked on), and give a reduction in generated build sizes.

Using 2020.3 should work great for analytics.

1 Like

1338774

Great, thank you for the bug report, that is most appreciated!

I have this same issue with Unity 2021.2.0a17.2411
I wanted to make a WebGL build, my exact same project did compile fine under 2021.1.0a9

The folder “C:\Users\Jan Oonk\source\repos\Unity\ContainerVisualizer\Packages” does exist, but there a no subfolders so “C:\Users\Jan Oonk\source\repos\Unity\ContainerVisualizer\Packages\com.unity.analytics\Plugins\WindowUtil.jslib”
does not exist.

Complete error:

Building Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js failed with output:
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: "Error: ENOENT: no such file or directory, open 'C:\Users\Jan Oonk\source\repos\Unity\ContainerVisualizer\Packages\com.unity.analytics\Plugins\WindowUtil.jslib'" | Error: ENOENT: no such file or directory, open 'C:\Users\Jan Oonk\source\repos\Unity\ContainerVisualizer\Packages\com.unity.analytics\Plugins\WindowUtil.jslib'
    at Error (native)
    at Object.fs.openSync (fs.js:640:18)
    at Object.fs.readFileSync (fs.js:508:33)
    at read (C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\compiler.js:57:34)
    at Object.load (eval at globalEval (C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\compiler.js:105:8), <anonymous>:175:17)
    at JSify (eval at globalEval (C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\compiler.js:105:8), <anonymous>:87:20)
    at Object.<anonymous> (C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\compiler.js:221:3)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
Traceback (most recent call last):
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc.py", line 3063, in <module>
    sys.exit(run())
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc.py", line 1780, in run
    final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args)
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\shared.py", line 2274, in emscripten
    emscripten._main(cmdline)
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 2233, in _main
    return temp_files.run_and_clean(lambda: main(
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\tempfiles.py", line 93, in run_and_clean
    return func()
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 2238, in <lambda>
    DEBUG=DEBUG,
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 2164, in main
    temp_files=temp_files, DEBUG=DEBUG)
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 86, in emscript
    glue, forwarded_data = compiler_glue(metadata, libraries, compiler_engine, temp_files, DEBUG)
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 218, in compiler_glue
    glue, forwarded_data = compile_settings(compiler_engine, libraries, temp_files)
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py", line 541, in compile_settings
    cwd=path_from_root('src'), error_limit=300)
  File "C:\Program Files\Unity\Hub\Editor\2021.2.0a17\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\jsrun.py", line 132, 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 ['C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\Tools\\nodejs\\node.exe', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\Emscripten\\src\\compiler.js', 'C:\\Users\\JANOON~1\\AppData\\Local\\Temp\\tmp_u3p2y.txt', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Audio.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\case_1174367_workaround.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\case_1179945_workaround.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\case_1187965_workaround.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\case_1208971_workaround.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Cursor.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\dlopen.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Eval.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\FileSystem.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Logging.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Profiler.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\ScreenOrientation.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Sensor.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\SystemInfo.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\UnetWebSocket.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\Video.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\WebCam.js', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\lib\\WebRequest.js', 'C:\\Users\\Jan Oonk\\source\\repos\\Unity\\ContainerVisualizer\\Assets\\Scripts\\JS\\jsLibrary.jslib', 'C:\\Users\\Jan Oonk\\source\\repos\\Unity\\ContainerVisualizer\\Packages\\com.unity.analytics\\Plugins\\WindowUtil.jslib', 'C:\\Program Files\\Unity\\Hub\\Editor\\2021.2.0a17\\Editor\\Data\\PlaybackEngines\\WebGLSupport\\BuildTools\\Emscripten\\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. There are various ways Module can be used:
// 1. Not defined. We create it here
// 2. A function parameter, function(Module) { ..generated code.. }
// 3. pre-run appended it, var Module = {}; ..generated
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Well I just removed the Analytics package since I don’t use it. Now building works.
Inside Unity goto Window > Package Manager > search for “com.unity.analytics” and click on Remove.
Now you can build again.

Hello - looks like we’re seeing this issue too in Unity 2021.2.0b1.3029 - Can’t seem to build for WebGL, failing with error:

Building Library/Bee/artifacts/WebGL/build/debug_WebGL_wasm/build.js failed with output:
emcc:WARNING: --llvm-lto ignored when using llvm backend
emcc2: error: '--js-library': file not found: 'Packages/com.unity.analytics/Plugins/WindowUtil.jslib'
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

Wondering if this is related - are we not able to build with analytics for WebGL? Is there a workaround?

Thanks in advance for any assistance.

Hi!

Some good news: this bug has been fixed, and is in the process of landing in 2022.1, and is planned for 2021.2: Unity Issue Tracker - The new incremental builder fails to build projects with jslib or C++ plugins

I’m not aware of a workaround yet, but I’ve asked internally and will post if I get an answer :slight_smile:

2 Likes