Building Unreal from source on Centos 7 fails

Hi everyone, I’m new to Unreal and trying to install it on Linux at work.

I’m using:
Centos 7

Any help would be greatly appreciated!

Here is my console output:

[dylan@nomachine UnrealEngine-release]$ ./

Github build
Checking / downloading the latest archives
Checking dependencies (excluding Win32, Win64, Mac, Android)…
Failed to read ‘/home/dylan/code/UnrealEngine-release/Engine/Build/Commit.gitdeps.xml’: System.Configuration.ConfigurationErrorsException: Error Initializing the configuration system. —> System.Configuration.ConfigurationErrorsException: Unrecognized configuration section <startup> (/home/dylan/code/UnrealEngine-release/Engine/Binaries/DotNET/GitDependencies.exe.config line 3)
at System.Configuration.ConfigInfo.ThrowException (System.String text, System.Xml.XmlReader reader) [0x00007] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.SectionGroupInfo.ReadContent (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed, System.Boolean root) [0x00170] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.SectionGroupInfo.ReadRootData (System.Xml.XmlReader reader, System.Configuration.Configuration config, System.Boolean overrideAllowed) [0x00007] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.Configuration.ReadConfigFile (System.Xml.XmlReader reader, System.String fileName) [0x000ec] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.Configuration.Load () [0x00052] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.Configuration.Init (System.Configuration.Internal.IConfigSystem system, System.String configPath, System.Configuration.Configuration parent) [0x00065] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.Configuration…ctor (System.Configuration.InternalConfigurationSystem system, System.String locationSubPath) [0x0005c] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.InternalConfigurationFactory.Create (System.Type typeConfigHost, System.Object] hostInitConfigurationParams) [0x0000e] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.ConfigurationManager.OpenExeConfigurationInternal (System.Configuration.ConfigurationUserLevel userLevel, System.Reflection.Assembly calling_assembly, System.String exePath) [0x00107] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x00011] in <d6de850e07274db588ca7c247bfa5ec6>:0
— End of inner exception stack trace —
at System.Configuration.ClientConfigurationSystem.get_Configuration () [0x00030] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00005] in <d6de850e07274db588ca7c247bfa5ec6>:0
at System.Configuration.PrivilegedConfigurationManager.GetSection (System.String sectionName) [0x00000] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection () [0x00000] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Diagnostics.DiagnosticsConfiguration.Initialize () [0x00033] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Diagnostics.DiagnosticsConfiguration.get_SwitchSettings () [0x00000] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Diagnostics.Switch.InitializeConfigSettings () [0x00019] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Diagnostics.Switch.InitializeWithStatus () [0x0004f] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Diagnostics.Switch.get_SwitchSetting () [0x0000d] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Diagnostics.BooleanSwitch.get_Enabled () [0x00000] in <5071a6e4a4564e19a2eda0f53e42f9bd>:0
at System.Xml.Serialization.TempAssembly.LoadGeneratedAssembly (System.Type type, System.String defaultNamespace, System.Xml.Serialization.XmlSerializerImplementation& contract) [0x0001d] in <1140eab9e72948548294172a9716416d>:0
at System.Xml.Serialization.XmlSerializer…ctor (System.Type type, System.String defaultNamespace) [0x00096] in <1140eab9e72948548294172a9716416d>:0
at System.Xml.Serialization.XmlSerializer…ctor (System.Type type) [0x00000] in <1140eab9e72948548294172a9716416d>:0
at GitDependencies.Program.ReadXmlObject[T] (System.String FileName, T& NewObject) [0x00002] in <e6e5dda5eebb4ce3b77e460f8828bf9c>:0
Result: 1

Ok so I tried commenting out a few lines in GitDependencies.exe.config:

<?xml version=“1.0” encoding=“utf-8” ?>
<!-- <startup>
<supportedRuntime version=“v4.0” sku=".NETFramework,Version=v4.5" />
</startup> →
<!-- <uri>
<add name=“http” genericUriParserOptions=“DontUnescapePathDotsAndSlashes” />
</uri> →

It gets past that error and now I get:
dylan@nomachine unreal]$ ./

Github build
Checking / downloading the latest archives
Checking dependencies (excluding Win32, Win64, Mac, Android)…
Updating dependencies: 0% (0/28613)…
Failed to download ‘’: (NotSupportedException)

I have been trying to install Unreal on Linux Mint at home, and I get a bit further in compiling, then I get this error:

clang: error: linker command failed with exit code 1 (use -v to see invocation)
ERROR: UBT ERROR: Failed to produce item: /home/dylan/Downloads/UnrealEngine-release/Engine/Binaries/Linux/CrashReportClient
Total build time: 2,24 seconds (Local executor: 0,00 seconds)
Makefile:257: recipe for target ‘CrashReportClient-Linux-Shipping’ failed
make: *** [CrashReportClient-Linux-Shipping] Error 5

Please let me know if someone knows how to get past this, thanks :slight_smile:

I’ve only just had this issue myself. I’ve boiled it down to the case sensitive nature of the CDN url.

Sometimes, “UnrealEngine-37…” gets a “Access Denied” response, and “unrealengine-37…” gets the BIN file… sometimes it’s the other way around…

You can find your gitdep urls in UnrealEngine/Engine/Build/Commitgitdeps.xml
But there’s 1900+ references to “UnrealEngine-”…

I’ll continue looking into it.

@Clix1 Ive had problems with CentOs builds hanging up. Just removed install, and re installed. It hangs up at dependencies offen. It all depends on whats loaded into centos. I think I had more success after installing alien, and converting some of the deb files. Nvidia gpu drivers are a pain in Centos, but seem to run fine in Ubuntu kernels. Someone said Ue4 ran great in opensuse, but I havent tried it.

@thadkinsjr That’s all I did in the end. Turning it off and on again FTW!

Did anybody found a solution on the dependencies? i get
Failed to download ‘’: (NotSupportedException)

and i get the same error on a different dependency but it alternates with this one each run
and i don’t know how to solve it. Running linux mint 19.

So i found a solution. I tried more stuff in between this and my previous post dunno if they affected the outcome.
I followed this video did run the description command line (copy/paste).
Some of the programs in the line complained so i removed them (was Mono-gmcs cause it’s deprecated from what i got and clang-3.5 cause i have 3.9).
Then I runned ./ and got an error about the path, it was because the path UnrealEngine folder was in had spaces in it’s name (SSD Unreal Workspace) so in the UnrealEngine/Engine/Build/BatchFiles/Linux/ line 6 i went and replaced it with the path to the so: cd “$1” --changed to->
cd “/media/<yourName>/<FoldersContainingUE>/UnrealEngine/Engine/Build/BatchFiles/Linux/”. Got all dependencies OK. Hope this helps somehow

The description on the video

sudo apt-get install -y mono-gmcs mono-xbuild mono-dmcs libmono-corlib4.0-cil libmono-system-data-datasetextensions4.0-cil libmono-system-web-extensions4.0-cil libmono-system-management4.0-cil libmono-system-xml-linq4.0-cil cmake dos2unix clang-3.5 xdg-user-dirs libqt4-dev

i removed clang and mono-gmcs so it resulted in:
sudo apt-get install -y mono-xbuild mono-dmcs libmono-corlib4.0-cil libmono-system-data-datasetextensions4.0-cil libmono-system-web-extensions4.0-cil libmono-system-management4.0-cil libmono-system-xml-linq4.0-cil cmake dos2unix xdg-user-dirs libqt4-dev

copy/paste it worked.
Update 1: Everything installed ok. Will open a project made in windows to check if everything is ok (if i don’t post back it means it was ok).
FYI: clean install needs 60GB on disk (may have to do with allocation unit as the disk is NTFS but keep an eye out), and UE4 hates spaces in names in linux… so use " _" (underscores)

Adding to this thread because it was one of the top internet search results for this problem.

I had a space in one of my folder names that was in the full path to my UE4 download folder. Sorting that out was all I needed to do on Linux Mint 19