Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro ao "buildar" o projeto

Aqui está o output dos erros:

**Erro número 1:**
Failed running "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_Win\python\2.7.5.3_64bit\python.exe" "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc" @"C:\Users\User\Desktop\MEUS-P~1\Unity\Alura\UNITYP~1\APOCAL~1\Assets\..\Temp\emcc_arguments.resp"

stdout:
stderr:WARNING:root:did not see a source tree above or next to the LLVM root directory (guessing based on directory of C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_FastComp_Win\llc), could not verify version numbers match
INFO:root:(Emscripten: Running sanity checks)
WARNING:root:java does not seem to exist, required for closure compiler, which is optional (define JAVA in C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\emscripten.config if you want it)
WARNING:root:closure compiler will not be available
ERROR:root:C:\Users\User\Desktop\meus-projetos\Unity\Alura\Unity parte 1 - Criação de um jogo de sobrevivência à zumbis para Web\apocalipse-zumbi-alura\Temp\StagingArea\Data\Native\build.bc: No such file or directory ("C:\Users\User\Desktop\meus-projetos\Unity\Alura\Unity parte 1 - Criação de um jogo de sobrevivência à zumbis para Web\apocalipse-zumbi-alura\Temp\StagingArea\Data\Native\build.bc" was expected to be an input file, based on the commandline arguments provided)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

**Erro número 2:**
Exception: Failed building WebGL Player.
UnityEditor.WebGL.ProgramUtils.StartProgramChecked (System.Diagnostics.ProcessStartInfo p) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/ProgramUtils.cs:48)
UnityEditor.WebGL.WebGlBuildPostprocessor.EmscriptenLink (BuildPostProcessArgs args, Boolean wasmBuild, System.String sourceFiles, System.String sourceFilesHash) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:391)
UnityEditor.WebGL.WebGlBuildPostprocessor.LinkBuild (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:434)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:894)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:271)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

**Erro número 3:**
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

**Erro número 4:**
UnityEditor.BuildPlayerWindow+BuildMethodException: 4 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x00207] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:172 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:83 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

**Erro número 5:**
Failed running "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_Win\python\2.7.5.3_64bit\python.exe" "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc" @"C:\Users\User\Desktop\MEUS-P~1\Unity\Alura\UNITYP~1\APOCAL~1\Assets\..\Temp\emcc_arguments.resp"

stdout:
stderr:ERROR:root:C:\Users\User\Desktop\meus-projetos\Unity\Alura\Unity parte 1 - Criação de um jogo de sobrevivência à zumbis para Web\apocalipse-zumbi-alura\Temp\StagingArea\Data\Native\build.bc: No such file or directory ("C:\Users\User\Desktop\meus-projetos\Unity\Alura\Unity parte 1 - Criação de um jogo de sobrevivência à zumbis para Web\apocalipse-zumbi-alura\Temp\StagingArea\Data\Native\build.bc" was expected to be an input file, based on the commandline arguments provided)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

+4 outros erros.

Alguém sabe o que pode estar acontecendo? :/ Não mudei nenhuma configuração predefinida. Apenas modifiquei o que foi mostrado na aula (Tamanho do layout do jogo).

6 respostas

Oi, João, tudo bom?

Tenta iniciar sua Unity como Administrador e dar build novamente.

Se isso não resolver tenta reinstalar o Java ou até o webgl build da Unity no instalador.

Se isso não resolver, nos comunique para tentarmos outras soluções.

Bons estudos :)

Oi! Fiz tudo que foi mandado, muitos erros sumiram mas ainda assim continuo com alguns deles:

Failed running "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_Win\python\2.7.5.3_64bit\python.exe" "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc" @"C:\Users\User\Desktop\MEUS-P~1\Unity\Alura\UNITYP~1\APOCAL~1\Assets\..\Temp\emcc_arguments.resp"

stdout:
stderr:WARNING:root:did not see a source tree above or next to the LLVM root directory (guessing based on directory of C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_FastComp_Win\llc), could not verify version numbers match
INFO:root:(Emscripten: Running sanity checks)
WARNING:root:java does not seem to exist, required for closure compiler, which is optional (define JAVA in C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\emscripten.config if you want it)
WARNING:root:closure compiler will not be available
ERROR:root:C:\Users\User\Desktop\meus-projetos\Unity\Alura\Unity parte 1 - Criação de um jogo de sobrevivência à zumbis para Web\apocalipse-zumbi-alura\Temp\StagingArea\Data\Native\build.bc: No such file or directory ("C:\Users\User\Desktop\meus-projetos\Unity\Alura\Unity parte 1 - Criação de um jogo de sobrevivência à zumbis para Web\apocalipse-zumbi-alura\Temp\StagingArea\Data\Native\build.bc" was expected to be an input file, based on the commandline arguments provided)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)


Exception: Failed building WebGL Player.
UnityEditor.WebGL.ProgramUtils.StartProgramChecked (System.Diagnostics.ProcessStartInfo p) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/ProgramUtils.cs:48)
UnityEditor.WebGL.WebGlBuildPostprocessor.EmscriptenLink (BuildPostProcessArgs args, Boolean wasmBuild, System.String sourceFiles, System.String sourceFilesHash) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:391)
UnityEditor.WebGL.WebGlBuildPostprocessor.LinkBuild (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:434)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:894)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:271)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)


Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

UnityEditor.BuildPlayerWindow+BuildMethodException: 4 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x00207] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:172 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:83 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Blz! Agora por desencargo então dá uma renomeada na pasta do seu projeto pra tirar esse tanto de caracteres especiais. Não deve ser isso mas é bom garantir.

Também na Unity tenta sair do padrão de build WebGL e voltar para ele gerar alguns arquivos novamente.

Se isso não funcionar cola esse arquivo aqui C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\emscripten.config pra eu dar uma olhada?

O Java tá instalado agora, certo? Porque WebGL vai utilizar Java 6+ pra fazer Deploy.

Realmente não é questão de nomeação de pasta, pois já tentei dar build para uma pasta no desktop e deu o mesmo erro.

Realmente quando abri o emscripten.config vi que o java não está configurado, é como se ele não tivesse achado no meu computador.

Eu programo em Java e sei que ele funciona corretamente, mas por algum motivo a Unity não conseguiu localizá-lo de forma automática.

Qual a string que coloco dentro de JAVA = '' ? O path do Java inteiro?

OBS: Paths do Java: 'C:\Program Files\Java\jdk1.8.0_131' 'C:\Program Files\Java\jdk-9.0.1' 'C:\Program Files\Java\jre1.8.0_151' 'C:\Program Files\Java\jre-9.0.1'

Arquivo "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\emscripten.config":

import os
LLVM_ROOT=os.getenv('LLVM')
NODE_JS=[os.getenv('NODE'),'--stack_size=8192','--max-old-space-size=2048'] 
EMSCRIPTEN_ROOT=os.getenv('EMSCRIPTEN')
SPIDERMONKEY_ENGINE = ''
V8_ENGINE = ''
TEMP_DIR = os.getenv('EMSCRIPTEN_TMP')
BINARYEN_ROOT = os.getenv('BINARYEN')
COMPILER_ENGINE = NODE_JS
JS_ENGINES = [NODE_JS]
JAVA = ''
solução

Na verdade é assim mesmo porque ele irá puxar sozinho, só precisava ter a chave JAVA definida. Tenta mudar no NODE_JS o stack_size pra algo como 1024 e buildar novamente.

Uma outra coisa que pode ajudar também é atualizar a versão da Unity porque pode ter algum problema relacionado a essa versão que já foi corrigido (já aconteceu no passado este mesmo problema).

Só pra dar uma repassada também o emscripten tem essas dependências:

  • Node.js
  • Python
  • Java

As outras já deveriam vir com o Unity.

Nossa, mudar o stack_size pra 1024 realmente resolveu. O arquivo agora foi gerado corretamente!

Muito muito obrigado pela sua paciência e atenção. Tudo de bom pra você e um feliz ano novo.

Até mais!