Error: non-portable path to file when building Unreal Editor for Linux on Windows

When building the Unreal Editor for Linux on Windows the ShaderCompilerWorker as well as other modules fail to compile:

1>------ Build started: Project: ShaderCompileWorker, Configuration: Linux_Development_Program Win32 ------
1> Creating makefile for ShaderCompileWorker (no existing makefile)
1> Performing full C++ include scan (no include cache file)
1> Using LINUX_MULTIARCH_ROOT, building with toolchain ‘D:\Project\LinuxCrossCompileToolChain\v10_clang-5.0.0-centos7\x86_64-unknown-linux-gnu’
1> Building UnrealHeaderTool…
1> Target is up to date
1> Total build time: 0.43 seconds (NoActionsToExecute executor: 0.00 seconds)
1> Parsing headers for ShaderCompileWorker
1> Running UnrealHeaderTool ShaderCompileWorker “d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\ShaderCompileWorker.uhtmanifest” -LogCmds=“loginit warning, logexit warning, logdatabase error” -Unattended -WarningsAsErrors -NoEnginePlugins
1> Reflection code generated for ShaderCompileWorker in 4.0282841 seconds
1> Using bundled libc++ standard C++ library.
1> Using old way to relink circularly dependent libraries (with a FixDeps step).
1> Performing 82 actions (4 in parallel)
1> [1/82] Compile SharedPCH.Core.h
1> [2/82] Compile PCH.Core.h
1> [4/82] Compile PCH.CoreUObject.h
1> [3/82] Compile SharedPCH.CoreUObject.h
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\Core\PCH.Core.h(46,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Core\Private\CorePrivatePCH.h”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\CoreUObject\PCH.CoreUObject.h(46,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\CoreUObject\Private\CoreUObjectPrivatePCH.h”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\Core\SharedPCH.Core.h(40,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Core\Public\CoreSharedPCH.h”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\CoreUObject\SharedPCH.CoreUObject.h(39,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\CoreUObject\Public\CoreUObjectSharedPCH.h”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Core\Public\CoreSharedPCH.h”
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Runtime\CoreUObject\Private\CoreUObjectPrivatePCH.h”
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Core\Private\CorePrivatePCH.h”
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Core\Public\CoreSharedPCH.h”
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\CoreUObject\Private\CoreUObjectPrivatePCH.h”
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Core\Private\CorePrivatePCH.h”
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Runtime\CoreUObject\Public\CoreUObjectSharedPCH.h”
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\CoreUObject\Public\CoreUObjectSharedPCH.h”
1> 1 error generated.
1> [5/82] Compile PCH.ImageWrapper.h
1> 1 error generated.
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\ImageWrapper\PCH.ImageWrapper.h(46,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\ImageWrapper\Private\ImageWrapperPrivate.h”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Runtime\ImageWrapper\Private\ImageWrapperPrivate.h”
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\ImageWrapper\Private\ImageWrapperPrivate.h”
1> [6/82] Compile SharedPCH.Slate.h
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\Slate\SharedPCH.Slate.h(50,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Slate\Public\SlateSharedPCH.h”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Slate\Public\SlateSharedPCH.h”
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Runtime\Slate\Public\SlateSharedPCH.h”
1> 1 error generated.
1> [7/82] Compile Module.ShaderCompileWorker.cpp
1> 1 error generated.
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\ShaderCompileWorker\Module.ShaderCompileWorker.cpp(2,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Programs\ShaderCompileWorker\Private\ShaderCompileWorker.cpp”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Programs\ShaderCompileWorker\Private\ShaderCompileWorker.cpp”
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Programs\ShaderCompileWorker\Private\ShaderCompileWorker.cpp”
1> 1 error generated.
1>d:\Project\UnrealEngine4.18.1\Engine\Intermediate\Build\Linux\B4D820EA\ShaderCompileWorker\Development\ShaderCompileWorker\Module.ShaderCompileWorker.cpp(3,10): error : non-portable path to file ‘“d\Project\UnrealEngine4.18.1\Engine\Source\Programs\ShaderCompileWorker\Private\XGEControlWorker.cpp”’; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
1> #include “d:\Project\UnrealEngine4.18.1\Engine\Source\Programs\ShaderCompileWorker\Private\XGEControlWorker.cpp”
1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1> “d\Project\UnrealEngine4.18.1\Engine\Source\Programs\ShaderCompileWorker\Private\XGEControlWorker.cpp”
1> 2 errors generated.
1> 1 error generated.
1>ERROR : UBT error : Failed to produce item: d:\Project\UnrealEngine4.18.1\Engine\Binaries\Linux\libShaderCompileWorker-Core.so
1> Total build time: 23.98 seconds (Local executor: 0.00 seconds)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command “…\Build\BatchFiles\Build.bat ShaderCompileWorker Linux Development -waitmutex” exited with code 5. Please verify that you have sufficient rights to run this command.

I have changed the cross compile tool chain to v9_clang-4.0.0-centos7 and rebuild VS project files and it works.
It’s a little strange because A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums suggests to use v10 clang 5.0.0-based for ue4.18

I’m now using ue4.18.3, v9_clang-4.0.0-centos7 and VS2015 update 3.

By some reason 4.19 complaints if I use V9 clang. So I changed to v11 and I got the same problem as above:

c:/Unreal/UnrealEngine-release-4.19/Engine/Intermediate/Build/Linux/B4D820EA/UnrealVersionSelector/Development/CoreUObject/PCH.CoreUObject.h(46,10): error : non-portable path to file '"c\\Unreal\UnrealEngine-release-4.19\Engine\Source\Runtime\CoreUObject\Private\CoreUObjectPrivatePCH.h"'; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]

According to the release notes UE4.19 uses cross compile tool chain v11_clang-5.0.0-centos7 but I’ve tried neither UE4.19 nor v11_clang-5.0.0.

http://www.hptechsupportphonenumbers.com/hp-printer-support/

@
And why did you post this on this thread??!!

Hi, sorry for necro but I found this thread when facing the same problem in Unreal 5.0.2. The error states that the case differs for the include, in my case it was:

#include "Runtime/Core/Public/HAL/PlatformFilemanager.h" while the filename on disk was indeed PlatformFileManager.h with uppercase M. So changing the include to #include "Runtime/Core/Public/HAL/PlatformFileManager.h" fixed the error for me. Hope this helps anyone with the same problem.

5 Likes

Thank you kind stranger.

1 Like