I’ve been hacking on UE 4.8 to add android targeting for linux. I’ve made a good progress so far and UE4Editor recognizes Android in the settings (though no device manager recognition or anything else). I’m trying to cook for android in command line using this command:
./Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -nocompile -nop4 -project="/home/james/Documents/Unreal Projects/MyProject/MyProject.uproject" -cook -compressed -allmaps -stage -archive -archivedirectory="/home/james/Documents/ue4games" -package -LinuxNoEditor -clientconfig=Development -ue4exe=UE4Editor -clean -pak -targetplatform=Android -utf8output
but I encounter this error:
UE4Editor: [2015.06.09-04.58.58:429][ 0]LogInit: -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
UE4Editor: [2015.06.09-04.58.58:429][ 0]LogInit: Setting LC_NUMERIC to en_US
UE4Editor: [2015.06.09-04.58.58:429][ 0]LogInit: - Physical RAM available (not considering process quota): 6 GB (5663 MB, 5799856 KB, 5939052544 bytes)
UE4Editor: [2015.06.09-04.58.58:468][ 0]LogTextLocalizationManager: The requested culture ('en_US') has no localization data; parent culture's ('en') localization data will be used.
UE4Editor: /home/james/UnrealEngine/Engine/Binaries/Linux/ShaderCompileWorker: symbol lookup error: /home/james/UnrealEngine/Engine/Binaries/Linux/libShaderCompileWorker-ShaderFormatOpenGL.so: undefined symbol: _Z19LocalValueNumberingP9exec_listP22_mesa_glsl_parse_state
UE4Editor: [2015.06.09-04.58.58:195][ 0]LogMaterial: Missing cached shader map for material Widget3DPassThrough, compiling.
UE4Editor: [2015.06.09-04.59.02:416][ 0]LogShaderCompilers:Error: ShaderCompileWorker terminated unexpectedly! Falling back to directly compiling which will be very slow. Thread 0.
UE4Editor: /home/james/UnrealEngine/Engine/Binaries/Linux/UE4Editor: symbol lookup error: /home/james/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-ShaderFormatOpenGL.so: undefined symbol: _Z19LocalValueNumberingP9exec_listP22_mesa_glsl_parse_state
UE4Editor: /home/james/UnrealEngine/Engine/Binaries/Linux/ShaderCompileWorker: symbol lookup error: /home/james/UnrealEngine/Engine/Binaries/Linux/libShaderCompileWorker-ShaderFormatOpenGL.so: undefined symbol: _Z19LocalValueNumberingP9exec_listP22_mesa_glsl_parse_state
UE4Editor: /home/james/UnrealEngine/Engine/Binaries/Linux/ShaderCompileWorker: symbol lookup error: /home/james/UnrealEngine/Engine/Binaries/Linux/libShaderCompileWorker-ShaderFormatOpenGL.so: undefined symbol: _Z19LocalValueNumberingP9exec_listP22_mesa_glsl_parse_state
UE4Editor:
CommandUtils.Run: Run: Took 22.270592s to run UE4Editor, ExitCode=127
InternalUtils.SafeCopyFile: SafeCopyFile /home/james/UnrealEngine/Engine/Programs/AutomationTool/Saved/Cook.txt /home/james/Library/Logs/Unreal Engine/LocalBuildLogs/Cook.29.txt
InternalUtils.SafeDeleteFile: SafeDeleteFile /home/james/UnrealEngine/Engine/Programs/AutomationTool/Saved/Cook.txt
Project.Cook: Cook failed. Deleting cooked data.
ErrorReporter.Error: ERROR: AutomationTool error: Cook failed.
BuildCommand.Execute: ERROR: BUILD FAILED
Program.Main: ERROR: AutomationTool terminated with exception:
Program.Main: ERROR: Exception in AutomationTool: BUILD FAILED: Failed while running Cook for /home/james/Documents/Unreal Projects/MyProject/MyProject.uproject; see log /home/james/Library/Logs/Unreal Engine/LocalBuildLogs/Cook.29.txt
Stacktrace: at AutomationTool.CommandUtils.RunCommandlet (System.String ProjectName, System.String UE4Exe, System.String Commandlet, System.String Parameters) [0x00000] in <filename unknown>:0
at AutomationTool.CommandUtils.CookCommandlet (System.String ProjectName, System.String UE4Exe, System.String[] Maps, System.String[] Dirs, System.String InternationalizationPreset, System.String[] Cultures, System.String TargetPlatform, System.String Parameters) [0x00000] in <filename unknown>:0
at Project.Cook (AutomationTool.ProjectParams Params) [0x00000] in <filename unknown>:0
Program.Main: ERROR: BUILD FAILED: Failed while running Cook for /home/james/Documents/Unreal Projects/MyProject/MyProject.uproject; see log /home/james/Library/Logs/Unreal Engine/LocalBuildLogs/Cook.29.txt
Program.Main: AutomationTool exiting with ExitCode=25
Domain_ProcessExit
RunUAT ERROR: AutomationTool was unable to run successfully.
It’s pointing out to “…mesa_glsl_parse_state”. Do you think it’s related to mesa installed on host system? It’s strange because I use nvidia closed-sourced drivers (346.59).