Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Build com erro e não gera arquivos

Vi que muitas pessoas tiveram este problema tanto aqui no curso como fora dele, problema este que a Unity gera erros no build.

Não sei se há alguma particularidade, mas estou rodando meu código no Ubuntu 20.04 LTS, com VS Code. Eu consigo jogar o jogo, mas não consigo compilá-lo através do "File > Build Settings > Build".

Métodos já tentado:

  • Deleção do arquivo "Zumbi.sln";
  • Deleção do diretório "Library/";
  • Reimportação dos assets;
  • Mudança de compatibilidade de API de .NET Standard 2.0 para .NET 4.x;
  • Usar o botão "build" ao invés do "build and run";
  • Troca do stack_size de 8192 pra 1024;
  • Verificação de carácter e/ou espaços em branco especial no path do projeto;
  • Troca do diretório dos arquivos de saída para um diretório diferente do de projeto;
  • Movi todo o projeto para a área de trabalho;
  • Reiniciei o computador diversas vezes.

Versão da Unity: 2020.1.4f1

Diretório da solution no computador:

~/Documentos/Cursos/Unity/Zumbi

Projeto no GitHub:

https://github.com/TheVini/Alura_Unity_Zumbi

Log do build:

Win32Exception: ApplicationName='python', CommandLine='-E "/home/vinicius/Unity/Hub/Editor/2020.1.4f1/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/Emscripten/emcc" @"/home/vinicius/Documentos/Cursos/Alura Unity 1/Zumbi/Assets/../Temp/emcc_arguments.resp"', CurrentDirectory='/home/vinicius/Documentos/Cursos/Alura Unity 1/Zumbi/Temp/StagingArea/Data', Native error= mono-io-layer-error (2)
System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) (at <c8c8707b2adc41b09ae682df75fe1fd0>:0)
System.Diagnostics.Process.Start () (at <c8c8707b2adc41b09ae682df75fe1fd0>:0)
(wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) (at <c8c8707b2adc41b09ae682df75fe1fd0>:0)
UnityEditor.WebGL.ProgramUtils.StartProgramChecked (System.Diagnostics.ProcessStartInfo p) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/ProgramUtils.cs:34)
UnityEditor.WebGL.WebGlBuildPostprocessor.EmscriptenLink (UnityEditor.Modules.BuildPostProcessArgs args, System.Boolean wasmBuild, System.String sourceFiles, System.String sourceFilesHash) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:431)
UnityEditor.WebGL.WebGlBuildPostprocessor.LinkBuild (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:473)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:912)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at /home/bokken/buildslave/unity/build/Editor/Mono/Modules/DefaultBuildPostprocessor.cs:27)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at /home/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:324)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00270] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:187 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in /home/bokken/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:95 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
9 respostas

Oi, Vinicius, tudo bem?

Ideal é buildar na mesma pasta do projeto, você já tentou rodar a Unity como administrador?

Olá Henrique, tudo bem sim!

Estou usando o Ubuntu 20.04, eu tentei rodar o comando abaixo e não consegui carregar o projeto. Possui alguma outra sugestão?

Também tentei:

  • Compilar o projeto com o Unity 2020.1.6f1 e 2020.2.0b2, e obtive os mesmos erros.
  • Compilar o projeto definindo o diretório de saída dos arquivos como o mesmo do projeto.
sudo ./UnityHub.AppImage --no-sandbox

hum.... não então não deve ser esse problema, foi mal o fato de ter falado sobre Ubuntu passou batido.

Acho que deve ser problema de instalação de pacote ou até a Unity não estar 100% preparada nas versões mais novas geralmente não tá vindo tudo 100%, mas vem melhorando bastante nos últimos tempos.

Você instalou essa dependência que tava recomendada no forum? apt install libgconf-2-4

Relacionado aos seus erros também parece ser um problema do python tenta instalar esse dependência acima depois dar autoremove que iria tirar o python 2 e então você pode instalar o python3 e fazer um symlink do python3 para /usr/bin/python se ainda não tiver sido criado.

Vi que você está usando o Hub então nem deve ter visto mas no forum da Unity tem umas discussões bem legais sobre as Builds Linux. Eu uso também mas ainda estou trabalhando com versão 2019 por causa de um projeto que venho fazendo.

Isso foi o que fiz pra resolver e também foi dica de pessoas da Unity no forum, não sei se vai funcionar para a 2020 mas pode ser que sim.

Interessante. Chequei aqui e ja tinha esta dependência mas não tinha aplicado o autoremove. Apliquei o comando e mesmo assim não obtive sucesso. Além de já possuir o python3 no diretório proposto.

Vou me aventurar um pouco mais neste fórum da Unity.

Olhando o log percebo que o código tentou acessar a pasta abaixo:

/home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189

Porém, não existe este usuário no meu PC, apenas o usuário abaixo:

/home/vinicius

Talvez seja uma variável de ambiente mal definida na Unity? Uma ideia de onde posso ajustá-la? Ou realmente a pasta criada é um dummy temporário?

Esse erro é bom reportar para a Unity com full log pra eles darem uma olhada porque parece algo interno.

Na 2019 eu tava conseguindo dar build normal se quiser tentar um downgrade.

Olá professor! Tudo bem?

Em contato com o pessoal da Unity, eles me disseram que é realmente um bug conhecido por eles que está aberto através thread: https://issuetracker.unity3d.com/issues/linux-il2cpp-build-fails-when-clang-system-package-is-not-isntalled.

E me sugeriram seguir os passos do link abaixo para resolver o problema: https://askubuntu.com/questions/1058534/installing-clang-6-0-on-ubuntu-18-04-lts-bionic

E deu tudo certo?

solução!

Sem sucesso ainda. Esta solução funciona para o Ubuntu 18.04 LTS Bionic.

Eles ainda estão tentando resolver esta questão para o Ubuntu 20.04. Pois nem o clang 6.0 e nem o 10.0 funcionaram para esta versão do Ubuntu.

Nos resta apenas aguardar.