Search Unity

Bug A compilation error occurs when there are Japanese comments in *.jslib files.

Discussion in 'Web' started by gtk2k, Aug 31, 2022.

  1. gtk2k

    gtk2k

    Joined:
    Aug 13, 2014
    Posts:
    288
    Unity 2021 or later will result in a compilation error.
    Compilation errors do not occur in Unity 2020 and earlier.

    Unity 2022 CompileErrorMessageLog
    Code (CSharp):
    1.  
    2. Building Library\Bee\artifacts\WebGL\build\debug_WebGL_wasm\build.js failed with output:
    3. Traceback (most recent call last):
    4.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emcc2.py", line 3571, in <module>
    5.     sys.exit(main(sys.argv))
    6.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emcc2.py", line 3564, in main
    7.     ret = run(args)
    8.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emcc2.py", line 1082, in run
    9.     phase_post_link(options, wasm_target, wasm_target, target)
    10.   File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\contextlib.py", line 74, in inner
    11.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emcc2.py", line 2400, in phase_post_link
    12.     phase_emscript(options, in_wasm, wasm_target, memfile)
    13.   File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\contextlib.py", line 74, in inner
    14.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emcc2.py", line 2428, in phase_emscript
    15.     emscripten.run(in_wasm, wasm_target, final_js, memfile)
    16.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emscripten.py", line 830, in run
    17.     emscript(in_wasm, out_wasm, outfile_js, memfile, shared.DEBUG)
    18.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emscripten.py", line 308, in emscript
    19.     glue, forwarded_data = compile_settings()
    20.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\emscripten.py", line 178, in compile_settings
    21.     cwd=path_from_root('src'), env=env)
    22.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\tools\shared.py", line 216, in run_js_tool
    23.     return check_call(command, *args, **kw).stdout
    24.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\tools\shared.py", line 202, in check_call
    25.     return run_process(cmd, *args, **kw)
    26.   File "C:\Program Files\Unity\Hub\Editor\2022.1.7f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\tools\shared.py", line 97, in run_process
    27.     ret = subprocess.run(cmd, check=check, input=input, *args, **kw)
    28.   File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\subprocess.py", line 474, in run
    29.   File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\subprocess.py", line 926, in communicate
    30. UnicodeDecodeError: 'cp932' codec can't decode byte 0x88 in position 52227: illegal multibyte sequence
    31. UnityEditor.EditorApplication:Internal_CallGlobalEventHandler ()
    32.  
    33.  
     
  2. unityruba

    unityruba

    Unity Technologies

    Joined:
    Nov 6, 2020
    Posts:
    273
  3. gtk2k

    gtk2k

    Joined:
    Aug 13, 2014
    Posts:
    288
    Thx.
     
  4. suntabu

    suntabu

    Joined:
    Dec 21, 2013
    Posts:
    77
    Hello, I encountered the same issue, but I don't understand what you mean "by encoding Unicode characters in the jslib".

    Could you please give more details about that?

    BTW the link to the issue says I don't have permission to access this portal.

    Thanks.
     
  5. Chaoslife

    Chaoslife

    Joined:
    Aug 16, 2016
    Posts:
    15
    did you solve this problem, I encountered the same issue
     
  6. suntabu

    suntabu

    Joined:
    Dec 21, 2013
    Posts:
    77
    Not yet, even not having a clue at all.
     
  7. Chaoslife

    Chaoslife

    Joined:
    Aug 16, 2016
    Posts:
    15
    I delete all jslib file's unicode characters, it's ok
     
  8. suntabu

    suntabu

    Joined:
    Dec 21, 2013
    Posts:
    77
    Thanks so much!
    I'll have it a try.
     
  9. tsunetsune

    tsunetsune

    Joined:
    Apr 11, 2020
    Posts:
    1
    Thank you!
    It works well!
     
    unityruba likes this.
  10. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    I suddenly started getting there, where are the jslib files that need to be tweaked? im using 2022.1.16 - is it worth upgrading to see if its fixed?
     
  11. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
  12. psyhama

    psyhama

    Joined:
    Sep 4, 2018
    Posts:
    28
    I found a workaround. Put this code as editor script.


    using System;
    using UnityEditor.Build;
    using UnityEditor.Build.Reporting;

    public class WebGLEmscriptenBuildFixer : IPreprocessBuildWithReport
    {
    public int callbackOrder => 1;
    public void OnPreprocessBuild(BuildReport report)
    {
    Environment.SetEnvironmentVariable("PYTHONUTF8", "1");
    }
    }


    This code will set env var PYTHONUTF8=1 so that it enforces python (emcc.py) to use UTF-8 encoding. So the UnicodeDecodeError will not occur.

    ref: https://github.com/emscripten-core/emscripten/issues/10551
     
  13. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    awesome!
     
    psyhama likes this.