Skip to content

Instantly share code, notes, and snippets.

@coopbri
Last active March 1, 2024 07:28
Show Gist options
  • Save coopbri/0b25c42369468a9bde8f2284c9d4157a to your computer and use it in GitHub Desktop.
Save coopbri/0b25c42369468a9bde8f2284c9d4157a to your computer and use it in GitHub Desktop.
Build Unreal Engine 5 on Linux
  1. Clone repo (or sync with git pull if already cloned):
git clone https://github.com/EpicGames/UnrealEngine
  1. Run setup script:
./Setup.sh
  1. Run project file generation script:
./GenerateProjectFiles.sh

If you get the error

Setting up bundled DotNet SDK
Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
...
GenerateProjectFiles ERROR: Failed to build UnrealBuildTool

try setting environment variable DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1, or installing ICU v50 (courtesy of @debian-user-france1).

  1. Finally, run the build:
make
@arch-user-france1
Copy link

You forgot to add the export (export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1)

@coopbri
Copy link
Author

coopbri commented May 22, 2022

No, I did not. The instruction is to set the environment variable, not a command. You can set the env var inline (i.e. DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 ./GenerateProjectFiles.sh, export to the shell's global environment (i.e. export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 && ./GenerateProjectFiles.sh), or any other method of setting the env var.

@arch-user-france1
Copy link

One thing though.. It's possible to install a package which will solve the error too. On Arch you'd do that: yay -S libicu50.

@coopbri
Copy link
Author

coopbri commented May 24, 2022

Thanks! Noted in the doc.

@KingDuckZ
Copy link

I can't find anything similar on Gentoo. Is icu50 on AUR literally version 50 from April 2019??

@arch-user-france1
Copy link

arch-user-france1 commented Jun 16, 2022

The following icu versions are in the AUR:

icu               icu56             icu63             icu68-bin       
icu4j             icu57             icu64             icu69           
icu50             icu58             icu65             icu69-bin       
icu51             icu59             icu66             icu70           
icu52             icu60             icu67             icu-git         
icu55             icu61             icu67-bin         icu-git-static  
icu55-staticlibs  icu62             icu68             icu-staticlibs

If not then it's from the Arch/Manjaro repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment