Author Topic: 4.21 Win/Linux CrossCompile Error - Could not find - SubstanceCore.precompiled  (Read 65 times)

Hi,
I've been trying to cross-compile from Windows (win7x64) to Linux.
It works on a UE4 template project without Substance, but fails when a Substance material is included (with the plugin enabled).
I've tried in 4.20 and 4.21. I'm using a Designer 5 material. The project compiles correctly for Windows.
I've tried removing and re-adding the marketplace plugin several times, including reboots.
I'm not sure if there is some extra stuff I need to do for the pluging to work in a cross-complile situation.
I'm new to working with Linux stuff.

The log shows there are missing directories/files for Linux where they exist for Mac and Windows.
G:\UE_4.21\Engine\Plugins\Marketplace\Substance\Intermediate\Build\(no Linux folder)

A D: directory is mentioned, but I suppose this isn't related to my project, because D: is a DVD drive on my system.

I have tried today's UE4 4.21 update, and also the Dec 4 Substance plugin update (by removing and re-adding it in the marketplace). Same error.

Additional logs attached as txt

I hope this is simple  :)
Thanks



========================================================================
Output Console log text:
========================================================================
Code: [Select]
UATHelper: Packaging (Linux): ********** BUILD COMMAND STARTED **********
UATHelper: Packaging (Linux): Running: G:\UE_4.21\Engine\Binaries\DotNET\UnrealBuildTool.exe ThirdPersonSubstance Linux Development -Project="C:\Users\username\Documents\Unreal Projects\ThirdPersonSubstance\ThirdPersonSubstance.uproject"  "C:\Users\username\Documents\Unreal Projects\ThirdPersonSubstance\ThirdPersonSubstance.uproject" -NoUBTMakefiles  -remotein
i="C:\Users\username\Documents\Unreal Projects\ThirdPersonSubstance" -skipdeploy -Manifest="C:\Users\username\Documents\Unreal Projects\ThirdPersonSubstance\Intermediate\Build\Manifest.xml" -NoHotReload -log="C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+UE_4.21\UBT-ThirdPersonSubstance-Linux-Development.txt"
UATHelper: Packaging (Linux):   ERROR: System.IO.DirectoryNotFoundException: Could not find a part of the path 'G:\UE_4.21\Engine\Plugins\Marketplace\Substance\Intermediate\Build\Linux\B4D820EA\UE4\Development\SubstanceCore\SubstanceCore.precompiled'.
UATHelper: Packaging (Linux):             at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
UATHelper: Packaging (Linux):             at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
UATHelper: Packaging (Linux):             at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
UATHelper: Packaging (Linux):             at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
UATHelper: Packaging (Linux):             at System.IO.File.InternalReadAllText(String path, Encoding encoding, Boolean checkHost)
UATHelper: Packaging (Linux):             at Tools.DotNETCommon.JsonObject.Read(FileReference File) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\DotNETCommon\DotNETUtilities\JsonObject.cs:line 50
UATHelper: Packaging (Linux):             at UnrealBuildTool.PrecompiledManifest.Read(FileReference Location) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\System\PrecompiledManifest.cs:line 37
UATHelper: Packaging (Linux):             at UnrealBuildTool.UEBuildModuleCPP.Compile(ReadOnlyTargetRules Target, UEToolChain ToolChain, CppCompileEnvironment BinaryCompileEnvironment, List`1 SharedPCHs, ISourceFileWorkingSet WorkingSet, ActionGraph ActionGraph) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Configuration\
UEBuildModuleCPP.cs:line 338
UATHelper: Packaging (Linux):             at UnrealBuildTool.UEBuildBinary.SetupBinaryLinkEnvironment(ReadOnlyTargetRules Target, UEToolChain ToolChain, LinkEnvironment LinkEnvironment, CppCompileEnvironment CompileEnvironment, List`1 SharedPCHs, ISourceFileWorkingSet WorkingSet, DirectoryReference ExeDir, ActionGraph ActionGraph) in D:\Build\++UE4\Sync\Engi
ne\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildBinary.cs:line 722
UATHelper: Packaging (Linux):             at UnrealBuildTool.UEBuildBinary.Build(ReadOnlyTargetRules Target, UEToolChain ToolChain, CppCompileEnvironment CompileEnvironment, LinkEnvironment LinkEnvironment, List`1 SharedPCHs, ISourceFileWorkingSet WorkingSet, DirectoryReference ExeDir, ActionGraph ActionGraph) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engi
ne\Source\Programs\UnrealBuildTool\Configuration\UEBuildBinary.cs:line 193
UATHelper: Packaging (Linux):             at UnrealBuildTool.UEBuildTarget.Build(BuildConfiguration BuildConfiguration, CPPHeaders Headers, List`1 OutputItems, List`1 UObjectModules, ISourceFileWorkingSet WorkingSet, ActionGraph ActionGraph, EHotReload HotReload, Boolean bIsAssemblingBuild) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\U
nrealBuildTool\Configuration\UEBuildTarget.cs:line 2193
UATHelper: Packaging (Linux):             at UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile, Boolean bCatchExceptions) in D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 1503
UATHelper: Packaging (Linux):          (see C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+UE_4.21\UBT-ThirdPersonSubstance-Linux-Development.txt for full exception trace)
UATHelper: Packaging (Linux): Took 28.5776346s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Linux): ERROR: UnrealBuildTool failed. See log for more details. (C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+UE_4.21\UBT-ThirdPersonSubstance-Linux-Development.txt)
UATHelper: Packaging (Linux):        (see C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+UE_4.21\Log.txt for full exception trace)
UATHelper: Packaging (Linux): AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Linux): BUILD FAILED
PackagingResults: Error: System.IO.DirectoryNotFoundException: Could not find a part of the path 'G:\UE_4.21\Engine\Plugins\Marketplace\Substance\Intermediate\Build\Linux\B4D820EA\UE4\Development\SubstanceCore\SubstanceCore.precompiled'.
PackagingResults: Error: UnrealBuildTool failed. See log for more details. (C:\Users\username\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+UE_4.21\UBT-ThirdPersonSubstance-Linux-Development.txt)
PackagingResults: Error: Unknown Error

Is it possible to confirm if cross-compiling from Windows to Linux is supported by the substance plugin?

I'm not particularly experienced in how things work, but it seems like all I need is a few missing files.
Are those files available somehow?
G:\UE_4.21\Engine\Plugins\Marketplace\Substance\Intermediate\Build\(no Linux folder)
Thanks  :)