Linux Build for unity.platforms 0.8.0-preview.7

I’m attempting to make a build of my project for linux platform but have been running into some difficulties. Specifically I’m running into an error of some resources not existing but only for the linux build. I’m using Unity.platforms 0.8.0-preview.7. When I tried using the ECS Sample projects it could build for linux fine but it was using an older version of unity and an older version of the platforms package. The build works fine for macOS and Windows so I’m a bit confused as to why it’s failing for this version of linux.

There are the errors I’ve been running into:

  • Trying to add file “D:/Projects/PropHunt/Temp/StagingArea/Data/Resources/unity default resources” to the list of output files in the build report, but the file does not appear to exist on disk right now.

Full Error Log

Trying to add file "D:/Projects/PropHunt/Temp/StagingArea/Data/Resources/unity default resources" to the list of output files in the build report, but the file does not appear to exist on disk right now.
UnityEditor.Build.Reporting.BuildReport:RecordFileAdded(String, String)
DesktopStandalonePostProcessor:RecordCommonFiles(BuildPostProcessArgs, String, String)
UnityEditor.LinuxStandalone.LinuxDesktopStandalonePostProcessor:CopyVariationFolderIntoStagingArea(BuildPostProcessArgs, HashSet`1)
DesktopStandalonePostProcessor:SetupStagingArea(BuildPostProcessArgs, HashSet`1)
DesktopStandalonePostProcessor:PostProcess(BuildPostProcessArgs)
UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions)
Unity.Build.Classic.Private.BuildPlayerStep:Run(BuildContext) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Classic.Private/NonIncremental/Steps/BuildPlayerStep.cs:63)
Unity.Build.BuildStepCollection:Run(BuildContext) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildStepCollection.cs:77)
Unity.Build.Classic.Private.MissingPipelines.MissingNonIncrementalPipeline:OnBuild(BuildContext) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Classic.Private/NonIncremental/MissingPipelines/MissingNonIncrementalPipeline.cs:103)
Unity.Build.BuildProcess:Update() (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildProcess.cs:52)
Unity.Build.BuildPipelineBase:Build(BuildConfiguration, BuildProgress) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildPipelineBase.cs:64)
Unity.Build.BuildConfiguration:Build() (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildConfiguration.cs:48)
Unity.Build.Editor.<>c:<.cctor>b__41_0(BuildConfiguration) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Editor/BuildConfigurationScriptedImporterEditor.cs:55)
Unity.Build.Editor.BuildConfigurationScriptedImporterEditor:ExecuteCurrentBuildAction() (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Editor/BuildConfigurationScriptedImporterEditor.cs:127)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
  • IOException: Failed to Move File / Directory from ‘Temp/StagingArea\LinuxPlayer’ to ‘Temp/StagingArea\PropHunt’.

Full Error Log

IOException: Failed to Move File / Directory from 'Temp/StagingArea\LinuxPlayer' to 'Temp/StagingArea\PropHunt'.
UnityEditor.FileUtil.MoveFileOrDirectory (System.String source, System.String dest) (at <6d0b5326886a4f0e8ed4ea356b37330b>:0)
UnityEditor.LinuxStandalone.LinuxDesktopStandalonePostProcessor.RenameStagingAreaFile (UnityEditor.Modules.BuildPostProcessArgs args, System.String from, System.String to) (at /home/bokken/buildslave/unity/build/PlatformDependent/LinuxStandalone/Extensions/Managed/LinuxDesktopStandalonePostProcessor.cs:80)
UnityEditor.LinuxStandalone.LinuxDesktopStandalonePostProcessor.RenameFilesInStagingArea (UnityEditor.Modules.BuildPostProcessArgs args) (at /home/bokken/buildslave/unity/build/PlatformDependent/LinuxStandalone/Extensions/Managed/LinuxDesktopStandalonePostProcessor.cs:65)
DesktopStandalonePostProcessor.SetupStagingArea (UnityEditor.Modules.BuildPostProcessArgs args, System.Collections.Generic.HashSet`1[T] filesToNotOverwrite) (at <6d0b5326886a4f0e8ed4ea356b37330b>:0)
DesktopStandalonePostProcessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at <6d0b5326886a4f0e8ed4ea356b37330b>:0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
DesktopStandalonePostProcessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at <6d0b5326886a4f0e8ed4ea356b37330b>:0)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <6d0b5326886a4f0e8ed4ea356b37330b>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <6d0b5326886a4f0e8ed4ea356b37330b>:0)
UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions)
Unity.Build.Classic.Private.BuildPlayerStep:Run(BuildContext) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Classic.Private/NonIncremental/Steps/BuildPlayerStep.cs:63)
Unity.Build.BuildStepCollection:Run(BuildContext) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildStepCollection.cs:77)
Unity.Build.Classic.Private.MissingPipelines.MissingNonIncrementalPipeline:OnBuild(BuildContext) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Classic.Private/NonIncremental/MissingPipelines/MissingNonIncrementalPipeline.cs:103)
Unity.Build.BuildProcess:Update() (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildProcess.cs:52)
Unity.Build.BuildPipelineBase:Build(BuildConfiguration, BuildProgress) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildPipelineBase.cs:64)
Unity.Build.BuildConfiguration:Build() (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build/BuildConfiguration.cs:48)
Unity.Build.Editor.<>c:<.cctor>b__41_0(BuildConfiguration) (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Editor/BuildConfigurationScriptedImporterEditor.cs:55)
Unity.Build.Editor.BuildConfigurationScriptedImporterEditor:ExecuteCurrentBuildAction() (at Library/PackageCache/com.unity.platforms@0.8.0-preview.7/Editor/Unity.Build.Editor/BuildConfigurationScriptedImporterEditor.cs:127)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

I’m using Unity 2020.1.5f1 with the latest version of entities package (0.14.0-preview.19) as well as a few other preview packages (Full list in spoiler). My main question is how do I get around this problem or will I have to wait for the next version and patch being released to have this fixed. I’m only able to run the build from hitting the button and it would be great if there was an option to run the build from a Script like with the BuildPipeline but I’m not certain if that’s possible from what I was able to find. I’m not sure if this is a bug or just
Package List

{
  "dependencies": {
    "com.unity.2d.sprite": "1.0.0",
    "com.unity.2d.tilemap": "1.0.0",
    "com.unity.ads": "3.4.9",
    "com.unity.analytics": "3.3.5",
    "com.unity.burst": "1.3.6",
    "com.unity.collab-proxy": "1.3.9",
    "com.unity.entities": "0.14.0-preview.19",
    "com.unity.ide.rider": "1.2.1",
    "com.unity.ide.visualstudio": "2.0.3",
    "com.unity.ide.vscode": "1.2.2",
    "com.unity.multiplayer-hlapi": "1.0.6",
    "com.unity.netcode": "0.4.0-preview.1",
    "com.unity.physics": "0.5.0-preview.1",
    "com.unity.platforms": "0.8.0-preview.7",
    "com.unity.platforms.android": "0.8.0-preview.7",
    "com.unity.platforms.desktop": "0.8.0-preview.7",
    "com.unity.platforms.linux": "0.8.0-preview.7",
    "com.unity.platforms.macos": "0.8.0-preview.7",
    "com.unity.platforms.windows": "0.8.0-preview.7",
    "com.unity.purchasing": "2.1.0",
    "com.unity.rendering.hybrid": "0.8.0-preview.19",
    "com.unity.scriptablebuildpipeline": "1.12.0",
    "com.unity.test-framework": "1.1.16",
    "com.unity.testtools.codecoverage": "0.3.1-preview",
    "com.unity.textmeshpro": "3.0.1",
    "com.unity.timeline": "1.3.5",
    "com.unity.transport": "0.3.1-preview.4",
    "com.unity.ugui": "1.0.0",
    "com.unity.xr.legacyinputhelpers": "2.1.4",
    "com.unity.modules.ai": "1.0.0",
    "com.unity.modules.androidjni": "1.0.0",
    "com.unity.modules.animation": "1.0.0",
    "com.unity.modules.assetbundle": "1.0.0",
    "com.unity.modules.audio": "1.0.0",
    "com.unity.modules.cloth": "1.0.0",
    "com.unity.modules.director": "1.0.0",
    "com.unity.modules.imageconversion": "1.0.0",
    "com.unity.modules.imgui": "1.0.0",
    "com.unity.modules.jsonserialize": "1.0.0",
    "com.unity.modules.particlesystem": "1.0.0",
    "com.unity.modules.physics": "1.0.0",
    "com.unity.modules.physics2d": "1.0.0",
    "com.unity.modules.screencapture": "1.0.0",
    "com.unity.modules.terrain": "1.0.0",
    "com.unity.modules.terrainphysics": "1.0.0",
    "com.unity.modules.tilemap": "1.0.0",
    "com.unity.modules.ui": "1.0.0",
    "com.unity.modules.uielements": "1.0.0",
    "com.unity.modules.umbra": "1.0.0",
    "com.unity.modules.unityanalytics": "1.0.0",
    "com.unity.modules.unitywebrequest": "1.0.0",
    "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
    "com.unity.modules.unitywebrequestaudio": "1.0.0",
    "com.unity.modules.unitywebrequesttexture": "1.0.0",
    "com.unity.modules.unitywebrequestwww": "1.0.0",
    "com.unity.modules.vehicles": "1.0.0",
    "com.unity.modules.video": "1.0.0",
    "com.unity.modules.vr": "1.0.0",
    "com.unity.modules.wind": "1.0.0",
    "com.unity.modules.xr": "1.0.0"
  }
}

Here is my linux versus windows build configurations

Windows build configuration:

{
    "Dependencies": [],
    "Components": [
        {
            "$type": "Unity.Build.Common.GeneralSettings, Unity.Build",
            "ProductName": "PropHunt",
            "CompanyName": "Company Name",
            "Version": "0.0.0.0"
        },
        {
            "$type": "Unity.Build.Common.SceneList, Unity.Build",
            "$version": 1,
            "BuildCurrentScene": false,
            "SceneInfos": [
                {
                    "Scene": "GlobalObjectId_V1-1-6035518946234ad46b9a729d7c3667a9-102900000-0",
                    "AutoLoad": false
                }
            ]
        },
        {
            "$type": "NetCodeConversionSettings, Unity.NetCode.Authoring.Hybrid",
            "Target": 2
        },
        {
            "$type": "Unity.Build.Classic.ClassicBuildProfile, Unity.Build.Classic",
            "$version": 1,
            "Platform": "Windows",
            "Configuration": 1,
            "Incremental": false
        },
        {
            "$type": "Unity.Build.Common.OutputBuildDirectory, Unity.Build",
            "OutputDirectory": "Builds/WIn64-Client"
        }
    ]
}

Linux build configuration:

{
    "Dependencies": [],
    "Components": [
        {
            "$type": "Unity.Build.Common.GeneralSettings, Unity.Build",
            "ProductName": "PropHunt",
            "CompanyName": "Company Name",
            "Version": "0.0.0.0"
        },
        {
            "$type": "Unity.Build.Common.SceneList, Unity.Build",
            "$version": 1,
            "BuildCurrentScene": false,
            "SceneInfos": [
                {
                    "Scene": "GlobalObjectId_V1-1-6035518946234ad46b9a729d7c3667a9-102900000-0",
                    "AutoLoad": false
                }
            ]
        },
        {
            "$type": "NetCodeConversionSettings, Unity.NetCode.Authoring.Hybrid",
            "Target": 2
        },
        {
            "$type": "Unity.Build.Classic.ClassicBuildProfile, Unity.Build.Classic",
            "$version": 1,
            "Platform": "Linux",
            "Configuration": 1,
            "Incremental": false
        },
        {
            "$type": "Unity.Build.Common.OutputBuildDirectory, Unity.Build",
            "OutputDirectory": "Builds/Linux-Client"
        }
    ]
}

I created these configurations from the ones provided in the ECS Sample projects but it’s failing with the errors listed above. I’m thinking this is a version problem but I have no idea where to troubleshoot this issue.

Hey flyQuixote,

Did you get anywhere with this one? I’m getting the same error, and am at a bit of a loss to track it down.

Thanks!

Ben

For future people: I figured this out. I was trying to build a Mono build without the Mono module installed - whoops! Switching to an IL2CPP build with the IL2CPP module installed and the Linux cross-compiling preview package enabled fixed the issue.

Ben

3 Likes