Linux VPS Ubuntu 24.04 GenerateProjectFiles.sh failure

Hey there,

I’ve been using UE on Windows for close to 10 years now, but this is the first time trying to get it running on Linux for version control server purpose.
I have a custom version of Unreal Engine source on a Linux VPS running Ubuntu 24.04, and going through the setup process.

I have ran the Setup.sh shell script and this finishes successfully, but when I run GenerateProjectFiles.sh, the process always fails with the following error messsage:

Attempting to set up UE pretty printers for gdb (existing UEPrinters.py, if any, will be overwritten)...
        updated UEPrinters.py
        found necessary entries in ~/.gdbinit file, not changing it.

Setting up Unreal Engine project files...

Setting up bundled DotNet SDK
find: ‘../Restricted/**/Source/Programs/Shared’: No such file or directory
find: ‘../Platforms/*/Source/Programs/Shared’: No such file or directory
find: ‘../Restricted/**/Source/Programs/UnrealBuildTool’: No such file or directory
UnrealBuildTool.dll is up to date
Unhandled exception: System.TypeInitializationException: The type initializer for 'UnrealBuildBase.Unreal' threw an exception.
 ---> System.Exception: Expected file "Engine/Build/Build.version" was not found at /var/lib/jenkins/workspace/UE_Source/Engine/Build/Build.version
   at UnrealBuildBase.Unreal.FindRootDirectory() in /var/lib/jenkins/workspace/UE_SOURCE/Engine/Source/Programs/Shared/EpicGames.Build/Unreal.cs:line 69
   at UnrealBuildBase.Unreal..cctor() in /var/lib/jenkins/workspace/UE_SOURCE/Engine/Source/Programs/Shared/EpicGames.Build/Unreal.cs:line 135
   --- End of inner exception stack trace ---
   at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in /var/lib/jenkins/workspace/UE_SOURCE/Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.cs:line 492

I can confirm that the files specified above definitely exist, and they exist in the directories above (eventhough the process says they are not found or don’t exist)

Some additional info:

  • DotNET 9.0 installed
  • clang version 18.1.3 installed

Anyone have any ideas?

Thanks in advance!

Some further details:

It seems this issue stems from BinaryFormatter:

50>Unhandled exception: System.PlatformNotSupportedException: BinaryFormatter serialization and deserialization have been removed. See https://aka.ms/binaryformatter for more information.
50>   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph)
50>   at EpicGames.Core.BinaryFormatterUtils.SaveIfDifferent(FileReference location, Object obj) in C:\Users\Administrator\Perforce\WINDOWS_SERVER_UE_SOURCE\Engine\Source\Programs\Shared\EpicGames.Core\BinaryFormatterUtils.cs:line 53
50>   at UnrealBuildTool.UEBuildTarget.CreateWriteMetadataAction(TargetMakefileBuilder MakefileBuilder, String StatusDescription, FileReference InfoFile, WriteMetadataTargetInfo Info, IEnumerable`1 PrerequisiteItems) in C:\Users\Administrator\Perforce\WINDOWS_SERVER_UE_SOURCE\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 3001
50>   at UnrealBuildTool.UEBuildTarget.BuildAsync(BuildConfiguration BuildConfiguration, ISourceFileWorkingSet WorkingSet, TargetDescriptor TargetDescriptor, ILogger Logger, Boolean bInitOnly) in C:\Users\Administrator\Perforce\WINDOWS_SERVER_UE_SOURCE\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 2809
50>   at UnrealBuildTool.BuildMode.CreateMakefileAsync(BuildConfiguration BuildConfiguration, TargetDescriptor TargetDescriptor, ISourceFileWorkingSet WorkingSet, ILogger Logger) in C:\Users\Administrator\Perforce\WINDOWS_SERVER_UE_SOURCE\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 1136
50>   at UnrealBuildTool.BuildMode.BuildAsync(List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, ISourceFileWorkingSet WorkingSet, BuildOptions Options, FileReference WriteOutdatedActionsFile, ILogger Logger, Boolean bSkipPreBuildTargets) in C:\Users\Administrator\Perforce\WINDOWS_SERVER_UE_SOURCE\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 396
50>   at UnrealBuildTool.BuildMode.ExecuteAsync(CommandLineArguments Arguments, ILogger Logger) in C:\Users\Administrator\Perforce\WINDOWS_SERVER_UE_SOURCE\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 252
50>   at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in C:\Users\Administrator\Perforce\WINDOWS_SERVER_UE_SOURCE\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 660
50>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command "..\..\Build\BatchFiles\Build.bat UnrealServer Win64 Development -WaitMutex -FromMsBuild -architecture=x64" exited with code 6.

I’m really not sure what is happening here.

  • DotNET framework is installed
  • Visual Studio IDE and MSCV toolchains installed