Linux Packaging problem (UE 4.26.2, CesiumForUnreal 1.4.1)

First, thanks for the plugin. It looks awesome.

I had a problem packaging a project using Cesium for linux, couldn’t figure out why the cook step failed. So, I decided to drop back to a much less complicated project and try again.

I recreated the “quick start” tutorial project, stopping short of adding the buildings. Attempting to package for Linux/Development fails, as does choosing “File|Cook Content for Linux”. The only error I see is:

ATHelper: Cooking (Linux): [0718/151629:ERROR:browser_main_loop.cc(217)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/doc
s/linux_suid_sandbox_development.md for more information on developing with the sandbox on.

and then, at the end of the cook:

UATHelper: Cooking (Linux): ERROR: Cook failed.
UATHelper: Cooking (Linux): (see /home/blah/Library/Logs/Unreal Engine/LocalBuildLogs/Log.txt for full exception trace)
PackagingResults: Error: Cook failed.
UATHelper: Cooking (Linux): AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
UATHelper: Cooking (Linux): RunUAT ERROR: AutomationTool was unable to run successfully.
PackagingResults: Error: AutomationTool was unable to run successfully.

This project is exactly as shown in the quick start tutorial, no additional content or modifications. I’m not much of an Unreal developer, I’m afraid. Any suggestions where to start looking?

Update:

The packaging problem appears to be related to this fix: https://github.com/EpicGames/UnrealEngine/commit/60c6833e4f92bad80b76cf0e28d96f5ba1dc4c26

"Disable Web Browser Widget CEF3 subprocess when cooking assets

The CEF3 subprocess used by the Web Browser Widget will fail to initialise in Linux environments where an X11 server is not running, which causes crashes when packaging projects inside Linux containers. Disabling the CEF3 subprocess when running the commandlet to cook assets fixes this crash and makes it possible to package projects that use the Web Browser Widget inside Linux containers."

CEF is the Chromium Embedded Framework. The Cesium For Unreal plugin depends on the web browser plugin which uses CEF. The fix mentioned above attempts to solve a problem users are having with running UE4 in a docker container. CEF requires a display to be able to do… something.

I’m hoping this will also fix the packaging problem I’m having, since (while I have a display), CEF and its utilities do not appear to work correctly on linux.

Cesium guys… I know it’s not supported yet, but I’d like to try building CesiumForUnreal for 4.27 and see if the packaging problem still exists. Are you aware of any changes that need to be made to your plugin to work with 4.27?

We haven’t tried 4.27 yet, but we don’t expect any major issues. Let us know how you go.