HTML5 - Do all plugins cause build failure?

Hey Everyone,

I have been experimenting with deploying some of my games to HTML 5 to display on my website. I quickly ran into build failures each time I had a third-party plug-in enabled.

Here is the failure with Low Entry’s Json and HTTP plug-ins.

UATHelper: Packaging (HTML5): Running AutomationTool...
UATHelper: Packaging (HTML5): Automation.ParseCommandLine: Parsing command line: -ScriptsForProject=H:/PROJECTS/ProjectName/GameName/GameName.uproject BuildCookRun -nocompile -nocompileeditor -installed -nop4 -project=H:/PROJECTS/ProjectName/GameName/GameName.uproject -
UATHelper: Packaging (HTML5): cook -stage -archive -archivedirectory=H:/PROJECTS/ProjectName -package -clientconfig=Shipping -ue4exe=UE4Editor-Cmd.exe -clean -prereqs -distribution -nodebuginfo -targetplatform=HTML5 -build -CrashReporter -utf8output
UATHelper: Packaging (HTML5): Automation.Process: Setting up command environment.
UATHelper: Packaging (HTML5): BuildCookRun.SetupParams: Setting up ProjectParams for H:\PROJECTS\ProjectName\GameName\GameName.uproject
UATHelper: Packaging (HTML5): Project.Build: ********** BUILD COMMAND STARTED **********
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe GameName HTML5 Shipping -Project=H:\PROJECTS\ProjectName\GameName\GameName.uproject -clean H:\PROJECTS\ProjectName\GameName\GameName.uproject  -remoteini="H:\PROJECTS\ProjectName\GameName" -nobuilduht -NoHot
Reload
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: Took 1.1559386s to run UnrealBuildTool.exe, ExitCode=0
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe GameName HTML5 Shipping -Project=H:\PROJECTS\ProjectName\GameName\GameName.uproject  H:\PROJECTS\ProjectName\GameName\GameName.uproject 
UATHelper: Packaging (HTML5):  -remoteini="H:\PROJECTS\ProjectName\GameName" -noxge -generatemanifest -NoHotReload -ignorejunk
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: Took 1.1219076s to run UnrealBuildTool.exe, ExitCode=0
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe GameName HTML5 Shipping -Project=H:\PROJECTS\ProjectName\GameName\GameName.uproject  H:\PROJECTS\ProjectName\GameName\GameName.uproject  -remoteini="H:\PROJECTS\ProjectName\GameName" -noxge -NoHotReload -ign
orejunk
UATHelper: Packaging (HTML5): UnrealBuildTool: Creating makefile for GameName (no existing makefile)
UATHelper: Packaging (HTML5): UnrealBuildTool: Performing full C++ include scan (no include cache file)
UATHelper: Packaging (HTML5): UnrealBuildTool: Setting Emscripten SDK 
UATHelper: Packaging (HTML5): UnrealBuildTool: Performing 2 actions (9 in parallel)
UATHelper: Packaging (HTML5): UnrealBuildTool: [1/2] python.exe UELinkerFixups.cpp
UATHelper: Packaging (HTML5): UnrealBuildTool: [2/2] python.exe GameName-HTML5-Shipping.js
UATHelper: Packaging (HTML5): UnrealBuildTool: INFO:root:(Emscripten: Running sanity checks)
UATHelper: Packaging (HTML5): UnrealBuildTool: INFO:root:Closure compiler (C:\Program Files\Epic Games\4.13\Engine\Extras\ThirdPartyNotUE\emsdk\emscripten\1.35.0\third_party\closure-compiler\compiler.jar) does not exist, check the paths in C:\Program Files\Epic Games\4.13\Engine\Interm
UATHelper: Packaging (HTML5): ediate\Build\HTML5\.emscripten
UATHelper: Packaging (HTML5): UnrealBuildTool: INFO:root:closure compiler will not be available
UATHelper: Packaging (HTML5): UnrealBuildTool: error: Linking globals named '_Z14UELinkerFixupsv': symbol multiply defined!
UATHelper: Packaging (HTML5): UnrealBuildTool: Traceback (most recent call last):
UATHelper: Packaging (HTML5): UnrealBuildTool:   File "C:\Program Files\Epic Games\4.13\Engine\Extras\ThirdPartyNotUE\emsdk\emscripten\1.35.0\emcc", line 1309, in <module>
UATHelper: Packaging (HTML5): UnrealBuildTool:     final = shared.Building.llvm_opt(final, link_opts, DEFAULT_FINAL)
UATHelper: Packaging (HTML5): UnrealBuildTool:   File "C:\Program Files\Epic Games\4.13\Engine\Extras\ThirdPartyNotUE\emsdk\emscripten\1.35.0\tools\shared.py", line 1465, in llvm_opt
UATHelper: Packaging (HTML5): UnrealBuildTool:     assert os.path.exists(target), 'Failed to run llvm optimizations: ' + output
UATHelper: Packaging (HTML5): UnrealBuildTool: AssertionError: Failed to run llvm optimizations: 
UATHelper: Packaging (HTML5): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: H:\PROJECTS\BlindsCom\BlindsComGame\Binaries\HTML5\GameName-HTML5-Shipping.js
UATHelper: Packaging (HTML5): UnrealBuildTool: Total build time: 52.70 seconds
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: Took 52.8593486s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (HTML5): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe GameName HTML5 Shipping -Project=H:\PROJECTS\ProjectName\GameName\GameName.uproject  H:\PROJECTS\ProjectName\GameName\GameName.uproject  -remoteini="H:\PROJECTS\ProjectName\GameName" -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2016.12.01-16.43.56.txt' 
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunAndLog(CommandEnvironment Env, String App, String CommandLine, String LogName, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, FileReference Project, String Target, String Platform, String Config, String AdditionalArgs, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (HTML5):    at AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
UATHelper: Packaging (HTML5):    at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictionary`2 InTa
rgetToManifest)
UATHelper: Packaging (HTML5):    at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
UATHelper: Packaging (HTML5):    at BuildCookRun.DoBuildCookRun(ProjectParams Params)
UATHelper: Packaging (HTML5):    at AutomationTool.BuildCommand.Execute()
UATHelper: Packaging (HTML5):    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
UATHelper: Packaging (HTML5):    at AutomationTool.Automation.Process(String[] Arguments)
UATHelper: Packaging (HTML5):    at AutomationTool.Program.MainProc(Object Param)
UATHelper: Packaging (HTML5):    at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
UATHelper: Packaging (HTML5):    at AutomationTool.Program.Main()
UATHelper: Packaging (HTML5): Program.Main: AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (HTML5): BUILD FAILED
PackagingResults:Error: Error Unknown Error

Here is the failure with Substance Plug-in:

UATHelper: Packaging (HTML5): Project.Build: ********** BUILD COMMAND STARTED **********
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game HTML5 Shipping -clean  -remoteini="H:\PROJECTS\ProjectName\GameName" -nobuilduht -NoHotReload
UATHelper: Packaging (HTML5): UnrealBuildTool: ERROR: No modules found to build. All requested binaries were already part of the installed engine data.
UATHelper: Packaging (HTML5): CommandUtils.Run: Run: Took 0.9908611s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (HTML5): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game HTML5 Shipping -clean  -remote
UATHelper: Packaging (HTML5): ini="H:\PROJECTS\ProjectName\GameName" -nobuilduht -NoHotReload. See logfile for details: 'UnrealBuildTool-2016.12.02-10.00.52.txt' 
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunAndLog(CommandEnvironment Env, String App, String CommandLine, String LogName, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (HTML5):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, FileReference Project, String Target, String Platform, String Config, String AdditionalArgs, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (HTML5):    at AutomationTool.UE4Build.CleanWithUBT(String TargetName, UnrealTargetPlatform Platform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
UATHelper: Packaging (HTML5):    at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictionary`2 InTa
rgetToManifest)
UATHelper: Packaging (HTML5):    at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
UATHelper: Packaging (HTML5):    at BuildCookRun.DoBuildCookRun(ProjectParams Params)
UATHelper: Packaging (HTML5):    at AutomationTool.BuildCommand.Execute()
UATHelper: Packaging (HTML5):    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
UATHelper: Packaging (HTML5):    at AutomationTool.Automation.Process(String[] Arguments)
UATHelper: Packaging (HTML5):    at AutomationTool.Program.MainProc(Object Param)
UATHelper: Packaging (HTML5):    at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
UATHelper: Packaging (HTML5):    at AutomationTool.Program.Main()
UATHelper: Packaging (HTML5): Program.Main: AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (HTML5): BUILD FAILED
PackagingResults:Error: Error Unknown Error

A lot of the errors generated seem to be with emscripten.

I have tried this in both 4.14 and 4.13.2. Both versions have been verified to make sure nothing is missing. Any and all ideas are welcome!

I believe so. A plugin to work in HTML5, needs to be compiled using HTML5 configuration (which most plugins don’t do), check plugins page to see their platform compatibility.

The Low Entry plugin’s page says it should work on all platforms. I emailed the about the issue and they said he doesn’t have any platform specific code implemented. Suggested that it was an emscripten issue.

What do you mean it needs to be compiled using HTML5 configuration? (Is this the only build that needs this done?)

INFO:root:Closure compiler (C:\Program Files\Epic Games\4.13\Engine\Extras\ThirdPartyNotUE\emsdk\emscripten\1.35.0\third_party\closure-compiler\compiler.jar) does not exist, check the paths in C:\Program Files\Epic Games\4.13\Engine\Interm have you investigated this?

I have not, I will check that one out asap!

Nope, still sorting through all of these errors. Have not been able to get a successful HTML5 build yet.

I did track down this error, I had to manually place the ‘third_party’ folder from my emscripten install into the '1.35.0 folder in the UE 4.13 directory.

HaxO,

Were you able to resolve the plugin issues you were originally running in to?

I have made it quite a ways though, getting different errors now. Here is the new log.
[link text][1]

118530-frontendbuild1.log (7.97 KB)

HaxO,

  • Is this happening on every new project you create?
  • Did you verify that you already installed the HTML5 options from the Launcher?

104368-options.png

118698-targetplatforms.png

Yes, HTML5 is installed and is set to true in the supported platforms.

This does happen in a fresh project as well.

EDIT: The installation has also been verified multiple times.

When you disable all plugins, are you still having the same issue? Could you show me exactly how you’re packaging your project? Are you using File > Package Project or are you working with Unreal Frontend?

Thanks!

I apologize for misunderstanding previously. When there is an error with a plugin, you need to speak with the creator of the plugin directly for assistance. It’s possible that it’s not meant to work for HTML5.

I did verify that this is causing the same error as you stated previously.

Since you’re not experienced with C++, I would suggest reviewing the C++ section in the forums, and see if anyone is able to guide you in making those changes you need for your project.

Let us know if we can be of any additional assistance, thanks!

I am building with the FrontEnd, if I disable all plugins it builds just fine. The problem is I need access to the http and json tools provided by LowEntrys plugins. I have tried accessing the built in http and json tools and making them exposed to blueprint. Unfortunately I am not very experienced with C++ and couldn’t get the functionality I needed out of them.

Yea, I know. I have been in contact with him over the past couple of weeks while trying to sort through all of this. We are trying to find where the problem is actually occurring. Trying to tackle this from all sides and find a solution.

After the creator investigates the issue and it turns out to be due to UE4 specifically, then those details need to be brought to our attention. However, when it’s still up in the air whether or not it’s specifically the plugin or not, the creator does need to try and resolve the issue you’re facing.

I hope that helps.