Failed to download during ./Setup.sh libc.dylib (DllNotFoundException)

Hi,

noticed a new 4.22 branch today and decided to try compiling it. I am running into the same issue as on master branch:

UnrealEngine-4.22$ ./Setup.sh
Registering git hooks... (this will override existing ones!)
Fixing inconsistent case in filenames.
Setting up Mono
Checking dependencies...
Updating dependencies:   0% (0/41479)...
Failed to download 'http://cdn.unrealengine.com/dependencies/UnrealEngine-3479958-543a927e673c42ee89fb13d09ca158a4/01fa198c8120c93d52d0eb1a
447044eb9ec75f22': libc.dylib (DllNotFoundException)
Result: 1

And

UnrealEngine-4.22$ ./Setup.sh
Registering git hooks... (this will override existing ones!)
Fixing inconsistent case in filenames.
Setting up Mono
Checking dependencies...
The following file(s) have been modified:
  Engine/Binaries/ThirdParty/Mono/Linux/etc/mono/registry/last-btime
Would you like to overwrite your changes (y/n)? y
Updating dependencies:   0% (0/41479)...
Failed to download 'http://cdn.unrealengine.com/dependencies/UnrealEngine-4325351-eac46e151e7545dbaa48edfd81394e0f/03bde7e760b89c5fb4b85d7a
5588d80d84503b2c': libc.dylib (DllNotFoundException)
Result: 1

Everything seems to work ok on 4.21 branch.

Anybody else ran into this? Any pointers? The URL for the download is ok, it seems to be an issue with local toolchain somehow.

EDIT:

export UE_USE_SYSTEM_MONO=1

Seems to work around the issue

Did a bit of digging and this is the commit that seems to be causing the issues https://github.com/EpicGames/UnrealEngine/commit/a48e767b94415ead8e27e6a02060104dc6d8993a

Edit: Well or this one: https://github.com/EpicGames/UnrealEngine/commit/55cc21d08fe138fd9403d9bcca6c1092203010bf#diff-18dd8aa60b107be8dd6f6a28cc45c099

This has been since resolved in both master and (unreleased as of now) 4.22 branches.

  • Still not fixed in 4.26.
  • Flag UE_USE_SYSTEM_MONO still undocumented.
  • Mono 6.12 would fail anyway because versions >5 are not properly treated. I fixed it in Engine/Build/BatchFiles/Linux/SetupMono.sh by extending the following line: if [ ${MONO_VERSION[0]} -ge 6 ] || [ ${MONO_VERSION[1]} -ge 0 ] || [ ${MONO_VERSION[2]} -ge 2 ]; then