When we use BuildAndTestProject.xml to build and upload source code symbols to SymbolServer for multiple platforms at once, and Linux is one of those platforms, build fails because Linux doesn’t implement SymbolServer support.
Uploading symbols to “TempPath\SymbolServer” …
PublishSymbols() has not been implemented for Linux
Failure publishing symbol files.
while executing task <SymStore Platform=“Linux” Files=“#Win64Lyra Compile Linux” StoreDir=“TempPath\SymbolServer/Linux” Product=“LyraGame” Change=“0” BuildVersion=“Lyra-CL-0” IndexSources=“False” />
at Engine\Build\Graph\Tasks\BuildAndTestProject.xml(721)
Our workaround, that’s enough for our use case, is to exclude Linux as in the next “UploadSymbolsNodeName” declaration in BuildAndTestProject.xml (our change in bold)
<Property Name=“UploadSymbolsNodeName” Value=“$(PreNodeNameWithPlatform)Upload Symbols $(TargetPlatform)” If=“‘$(SymbolServerPath)’ != ‘’ And !$(IsMobilePlatform) And !$(IsTargetPlatformLinux)” />
Is there anything else we should take care of?
Note that this issue is also present in UE5.6 and previous UE5 versions.
ReproSteps
- Get //UE5/Release-5.7/…@46459148
- From workspace root, run the following commandline
RunUAT.bat BuildGraph -Script=Engine\Build\Graph\Tasks\BuildAndTestProject.xml -set:ProjectName=Lyra -set:ProjectPath=Samples/Games/Lyra -set:TargetName=LyraGame -Target=“BuildAndTest Lyra” -set:TargetPlatforms=Linux+Win64 -set:TargetConfigurations=Test -set:EditorPlatformLinuxAgentOverride=Win64 -set:PublishBuilds=false -set:SkipCook=true -set:SkipPackage=true -set:SkipPublish=true -set:SkipTest=true -set:SymbolServerPath=TempPath\SymbolServer -set:EnableSymbolStore=true -buildmachine
Regards