x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

ShaderCompileWorker error in Linux While Cooking

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).

Product Version: UE 4.8 Preview
Tags:
more ▼

asked Jun 09 '15 at 05:26 AM in Linux

avatar image

boomandbewm
13 2 5 9

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

The error is saying it can't find:

 bool LocalValueNumbering(exec_list* Instructions, _mesa_glsl_parse_state* ParseState)

If you an run Linux tho, I'm not sure why Android would be failing. That should be used the same way that Linux parses shaders. I would suggest recompiling hlslcc libraries (not that you should have to tho).

Also, in your command line, remove -LinuxNoEditor, and change -targetplatform=android to -platform=android -cookflavor=ETC1. Let me know if that changes things.

more ▼

answered Jun 10 '15 at 08:42 PM

avatar image

joshbadams STAFF
1.3k 19 7 46

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I tried almost the same thing, with almost the same failure :

Engine version: 4.8.0-release

OS : Ubuntu 14.04 (x64)

Files modified :

 modified:   Engine/Source/Developer/Android/AndroidDeviceDetection/Private/AndroidDeviceDetectionModule.cpp
     modified:   Engine/Source/Developer/TargetPlatform/TargetPlatform.Build.cs
     modified:   Engine/Source/Editor/UnrealEd/UnrealEd.Build.cs
     modified:   Engine/Source/Programs/UnrealBuildTool/Android/AndroidToolChain.cs
     modified:   Engine/Source/Programs/UnrealBuildTool/Android/UEBuildAndroid.cs
     modified:   Engine/Source/Runtime/Core/Private/Android/AndroidFile.cpp
     modified:   Engine/Source/Runtime/Launch/Private/Android/AndroidJNI.cpp
     modified:   Engine/Source/ThirdParty/Qualcomm/TextureConverter/QualcommTextureConverter.build.cs
     modified:   Engine/Source/ThirdParty/Vorbis/Vorbis.Build.cs

I had to get the libTextureConverter.so from Adreno SDK to fix a dependency issue with the TextureFormatAndroid module.

What works :

0 - UE4Editor now shows Android platform paramaters (SDK & NDK paths seem to be recognized)

1 - Android device detection works. I have my android device listed in the Project Launcher.

2 - My UE projects (and UE4Game) get compiled with the Android toolchain. I get the *-armv7-es2.so lib in my project binaries.

3 - I can deploy my project on an android device. It is launched but crash after a black screen (no content loaded I suppose)

What fails :

[EDIT] By simply commenting the assertion line, the error is gone. Quick'n'dirty, but it works! You can build and deploy directly from editor to android devices!

ShaderCompilerWorker failed but with a different error (assertion failed). No cooked content.

  LinuxNativeDialogs running on Unity
     Trying to load: libLND-gtk3.so
     LND loaded backend: gtk3
     [2015.06.12-08.32.20:595][  0]LogDesktopPlatform: LinuxNativeDialogs have been successfully initialized.
     [2015.06.12-08.32.20:941][  0]LogHAL: FLinuxPlatformProcess::CreateProc: spawned child 6699
     [2015.06.12-08.32.20:945][  0]LogHAL: Child 6699 is no more running (zombie), Wait()ing immediately.
     [2015.06.12-08.32.21:452][  0]LogHAL: FLinuxPlatformProcess::CreateProc: spawned child 6700
     [2015.06.12-08.32.21:460][  0]LogHAL: Child 6700 is no more running (zombie), Wait()ing immediately.
     [2015.06.12-08.32.21:968][  0]LogHAL: FLinuxPlatformProcess::CreateProc: spawned child 6701
     [2015.06.12-08.32.21:975][  0]LogHAL: Child 6701 is no more running (zombie), Wait()ing immediately.
     [2015.06.12-08.32.22:486][  0]LogHAL: FLinuxPlatformProcess::CreateProc: spawned child 6703
     [2015.06.12-08.32.22:500][  0]LogHAL: Child 6703 is no more running (zombie), Wait()ing immediately.
     [2015.06.12-08.32.27:560][  0]LogObj: 29703 objects as part of root set at end of initial load.
     [2015.06.12-08.32.27:560][  0]LogUObjectAllocator: 6305952 out of 0 bytes used by permanent object pool.
     [2015.06.12-08.32.27:560][  0]LogInit: Executing Class /Script/UnrealEd.CookCommandlet
     [2015.06.12-08.32.29:426][  0]LogCook:Display: Done creating registry. It took  0.32s.
     [2015.06.12-08.32.30:186][  0]LogPackageDependencyInfo:Display:     Package Info not found for ../../../Project48R/CookedIniVersion!
     ShaderCompileWorker: ../../src/hlslcc_lib/OptValueNumbering.cpp:741: void SCFGCreator::LinkBasicBlocks(TBasicBlockList::iterator &): Assertion `0' failed.
     ShaderCompileWorker: ../../src/hlslcc_lib/OptValueNumbering.cpp:741: void SCFGCreator::LinkBasicBlocks(TBasicBlockList::iterator &): Assertion `0' failed.
     ShaderCompileWorker: ../../src/hlslcc_lib/OptValueNumbering.cpp:741: void SCFGCreator::LinkBasicBlocks(TBasicBlockList::iterator &): Assertion `0' failed.
 [2015.06.12-08.32.51:326][  0]LogShaderCompilers:Error: ShaderCompileWorker terminated unexpectedly!  Falling back to directly compiling which will be very slow.  Thread 2.
 UE4Editor: ../../src/hlslcc_lib/OptValueNumbering.cpp:741: void SCFGCreator::LinkBasicBlocks(TBasicBlockList::iterator &): Assertion `0' failed.
 Aborted (core dumped)

I tried to recompile the hlslcc library, no help.

It's really frustrating... it's almost done...

more ▼

answered Jun 12 '15 at 09:13 AM

avatar image

metatomato
101 4 11 20

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question