Unable to build Unreal Engine on ubuntu 18.04

I have followed the steps described on Linux Game Development in Unreal Engine | Unreal Engine 5.2 Documentation, but it fails to make with the following error:

:~/Projects/UnrealEngine$ make
bash “/home/javier/Projects/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh” CrashReportClient Linux Shipping
Fixing inconsistent case in filenames.
Setting up Mono
Building CrashReportClient…
Using ‘git status’ to determine working set for adaptive non-unity build (/home/javier/Projects/UnrealEngine).
Creating makefile for CrashReportClient (no existing makefile)
Creating makefile for UnrealHeaderTool (no existing makefile)
Waiting for ‘git status’ command to complete
------- Build details --------
Using toolchain located at ‘/home/javier/Projects/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v16_clang-9.0.1-centos7/x86_64-unknown-linux-gnu’.
Using clang (/home/javier/Projects/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v16_clang-9.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version ‘9.0.1’ (string), 9 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /home/javier/Projects/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v16_clang-9.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink circularly dependent libraries (no FixDeps).

Performing 37 actions (24 in parallel)
[2/37] Compile PCH.CoreUObject.h
[1/37] Compile PCH.Core.h
[4/37] Compile Module.TraceLog.cpp
[6/37] Compile Module.UnrealHeaderTool.cpp
[3/37] Compile BuildSettings.cpp
[5/37] Compile SharedPCH.Core.ShadowErrors.h
In file included from /home/javier/Projects/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/Core/PCH.Core.h:67:
In file included from /home/javier/Projects/UnrealEngine/Engine/Source/Runtime/Core/Private/CorePrivatePCH.h:6:
In file included from /home/javier/Projects/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/CoreUObject/PCH.CoreUObject.h:57:
In file included from /home/javier/Projects/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/CoreUObjectPrivatePCH.h:6:
In file included from Runtime/Core/Public/CoreMinimal.h:9:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:135:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
In file included from /home/javier/Projects/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/Core/SharedPCH.Core.ShadowErrors.h:55:
In file included from /home/javier/Projects/UnrealEngine/Engine/Source/Runtime/Core/Public/CoreSharedPCH.h:6:
In file included from /home/javier/Projects/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/TraceLog/Module.TraceLog.cpp:2:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:135:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/javier/Projects/UnrealEngine/Engine/Source/Runtime/BuildSettings/Private/BuildSettings.cpp:3:
In file included from /home/javier/Projects/UnrealEngine/Engine/Source/Runtime/TraceLog/Private/Trace/Channel.cpp:2:
In file included from Runtime/TraceLog/Public/Trace/Detail/Channel.h:5:
In file included from Runtime/TraceLog/Public/Trace/Config.h:5:
In file included from Runtime/Core/Public/HAL/Platform.h:135:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from Runtime/BuildSettings/Public/BuildSettings.h:5:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:135:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:135:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/javier/Projects/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/UnrealHeaderTool/Module.UnrealHeaderTool.cpp:2:
In file included from /home/javier/Projects/UnrealEngine/Engine/Source/Programs/UnrealHeaderTool/Private/BaseParser.cpp:3:
In file included from Programs/UnrealHeaderTool/Private/BaseParser.h:5:
In file included from Runtime/Core/Public/CoreMinimal.h:9:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:135:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
1 error generated.
1 error generated.
1 error generated.
1 error generated.
1 error generated.
Makefile:307: recipe for target ‘CrashReportClient-Linux-Shipping’ failed
make: *** [CrashReportClient-Linux-Shipping] Error 6

I searched the file, and it is there:

:~/Projects/UnrealEngine$ locate --existing sig_atomic_t.h
/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h

Hi Sam, thaks for your answer

I was able to build the version 4.19
From 4.20 it does not make anymore, yes it dowloaded the dependencies,

I am using clang-5.0.1-4, wich comes by default on ubuntu 18.04

Same problem on ubuntu 16.04, I have not tested 20.04 yet

No, that is not the problem I have removed clang from my system, same issue

/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/UnrealEditor/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/UnrealHeaderTool/Module.UnrealHeaderTool.cpp:2:
In file included from /opt/UnrealEditor/UnrealEngine/Engine/Source/Programs/UnrealHeaderTool/Private/BaseParser.cpp:3:
In file included from Programs/UnrealHeaderTool/Private/BaseParser.h:5:
In file included from Runtime/Core/Public/CoreMinimal.h:9:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:135:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
1 error generated.
1 error generated.
1 error generated.
1 error generated.
1 error generated.
Makefile:302: recipe for target ‘CrashReportClient-Linux-Shipping’ failed
make: *** [CrashReportClient-Linux-Shipping] Error 5

I am attaching the full screen log, you can see it using the command “zmore”

$ zmore screenlog.0.zip

I’ve just checked out version 4.26, and removed all related andriod sdk files, and got the same error

So, the problem is on target CrashReportClient-Linux-Shipping, a reference to bits/types/sig_atomic_t.h which is missing, as far as I can see, /usr/include/signal.h is part of the package libc6-dev,I do not see anything related to android

I’ve got 24 cores, it is a AMD Ryzen 9 3900XT 12-Core Processor with hypertreading enabled, so I configured BuildConfiguration.xml like this:

<?xml version=“1.0” encoding=“utf-8”?>
<Configuration xmlns=“https://www.unrealengine.com/BuildConfiguration”>
<ParallelExecutor>
<MaxProcessorCount>2</MaxProcessorCount>
</ParallelExecutor>
</Configuration>

But no luck

:/opt/Unreal/UnrealEngine$ make
bash “/opt/Unreal/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh” CrashReportClient Linux Shipping
Fixing inconsistent case in filenames.
Setting up Mono
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe CrashReportClient Linux Shipping
Using ‘git status’ to determine working set for adaptive non-unity build (/opt/Unreal/UnrealEngine).
Creating makefile for CrashReportClient (no existing makefile)
Creating makefile for UnrealHeaderTool (no existing makefile)
------- Build details --------
Using toolchain located at ‘/opt/Unreal/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu’.
Using clang (/opt/Unreal/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version ‘10.0.1’ (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /opt/Unreal/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink circularly dependent libraries (no FixDeps).

Performing 38 actions (24 in parallel)
[6/38] Compile Module.UnrealHeaderTool.cpp
[2/38] Compile PCH.CoreUObject.h
[3/38] Compile Module.TraceLog.cpp
[5/38] Compile SharedPCH.Core.ShadowErrors.h
[1/38] Compile PCH.Core.h
[4/38] Compile BuildSettings.cpp
In file included from /opt/Unreal/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/TraceLog/Module.TraceLog.cpp:2:
In file included from /opt/Unreal/UnrealEngine/Engine/Source/Runtime/TraceLog/Private/Trace/BlockPool.cpp:3:
In file included from Runtime/TraceLog/Public/Trace/Config.h:5:
In file included from /opt/Unreal/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/UnrealHeaderTool/Module.UnrealHeaderTool.cpp:2:
In file included from Runtime/Core/Public/HAL/Platform.h:139:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/Unreal/UnrealEngine/Engine/Source/Programs/UnrealHeaderTool/Private/BaseParser.cpp:3:
In file included from Programs/UnrealHeaderTool/Private/BaseParser.h:5:
In file included from Runtime/Core/Public/CoreMinimal.h:9:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:139:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/Unreal/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/Core/SharedPCH.Core.ShadowErrors.h:60:
In file included from /opt/Unreal/UnrealEngine/Engine/Source/Runtime/Core/Public/CoreSharedPCH.h:6:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:139:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/Unreal/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/CoreUObject/PCH.CoreUObject.h:63:
In file included from /opt/Unreal/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/CoreUObjectPrivatePCH.h:6:
In file included from Runtime/Core/Public/CoreMinimal.h:9:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:139:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/Unreal/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UnrealHeaderTool/Development/Core/PCH.Core.h:70:
In file included from /opt/Unreal/UnrealEngine/Engine/Source/Runtime/Core/Private/CorePrivatePCH.h:6:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:139:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/Unreal/UnrealEngine/Engine/Source/Runtime/BuildSettings/Private/BuildSettings.cpp:3:
In file included from Runtime/BuildSettings/Public/BuildSettings.h:5:
In file included from Runtime/Core/Public/CoreTypes.h:9:
In file included from Runtime/Core/Public/HAL/Platform.h:139:
In file included from Runtime/Core/Public/Linux/LinuxPlatform.h:9:
In file included from Runtime/Core/Public/Unix/UnixPlatform.h:10:
/usr/include/signal.h:32:10: fatal error: ‘bits/types/sig_atomic_t.h’ file not found
#include <bits/types/sig_atomic_t.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
1 error generated.
1 error generated.
1 error generated.
1 error generated.
1 error generated.
Makefile:322: recipe for target ‘CrashReportClient-Linux-Shipping’ failed
make: *** [CrashReportClient-Linux-Shipping] Error 6

Same error

I have seen people using ubuntu, one of the major linux distributios DistroWatch.com: Put the fun back into computing. Use Linux, BSD.

So, I think that I am missing a dependency that Setup.sh does not satisfy, but I don’t know how to find out wich one

BTW, the official unreal documentation uses ubuntu, Linux Game Development in Unreal Engine | Unreal Engine 5.1 Documentation

“Our development and support teams currently use the latest version of Ubuntu; as a result, we may not be able to provide support for other Linux distributions (including other versions of Ubuntu). Additionally, read about Hardware and Software Specifications , and make sure your system has at least one hundred (100) gigabytes of disk space before performing the following steps.”

So, does the development and support teams actually support what they claim to support?, who are them?, how can I contact them?

**Edit: removed previous post as this is the order to follow to fix the issue. Previous posts order is in reverse and could confuse new user **

Trial 1

Unreal linux build tool chain detects the distribution and uses libc downloaded with unreal or supplied with os based on distribution by checking things like is source os? etc according to the distribution. This is the root of the problem, along with typical installation mistake of os.

If you install any live os please remember to install the build tools. (eg ubuntu, fedora)

Ubuntu

sudo apt-get update
udo apt-get install build-essential llvm

Fedora

sudo dnf groupinstall “Development Tools”
sudo dnf install flex kernel-devel bison dkms

if you have rpmfusion repository enabled and using nvidia drivers.

sudo dnf install akmod-nvidia

(Ubuntu with its dependency on debian has many things different from other distributions. See other at also had similar issue with compiling softwares in ubuntu even after installing the build-essential. https://stackoverflow.com/questions/…23339#11823339 https://stackoverflow.com/questions/…file-not-found
)

Redhat/Fedora has better engineering than Ubuntu. Eg it all software are forced to use universal libraries rather than libraries being packed with each software. There could be many copies of same libraries/dependencies is some distribution.

Trial 2
--------

I have seen in the forums people with very high threads having similar problem with ubuntu and debian.
Signal errors are very complicated issue. Most possible reason could be how they have implimented their os dev enviroment.
Two methods:

  1. If it is a race condition. Since you have many core. Try limiting the total number of thread in using home/username/.config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml Set MaxProcessorCount = to very low number and see if compiles. refer for settings https://docs.unrealengine.com/en-US/…ion/index.html

  2. Another method I would recommend you to try it on another distro like fedora / Open suse 15.2 / centos 7 (too old)
    If you go for centos 8 or you will have to configure os without wayland.

Trial 3
--------

Are you on a very old distro with obsolate android ndk. Then remove it

Trial 4
---------

Are you using any methods like perforce.txt to use system provided clang. Each version of unreal will only work with a specific version of clang eg 4.25 with clang 9. 4.26 with clang 10 etc. Have you modified build tools to use gcc for compiling.
If anything like this is done then revoke it.
if you used git to clone (git clone unrealsourceweblink)Try in console with

git reset --hard
If it does not work Easiest method will be to remove the unreal source and redowload (use git clone if it is possible)

Trial 5

If it still does not work ask in forum or if its a bug report it!

PS

Many things in documentation such as system requirements, linux installation method etc are old (as of 2020). In requirements it says 100 gb for source. But now the compiled engine is around 120gb and having 100gb will not work.

2 Likes

BINGO !!!

This fixes the problem:

$ sudo apt-get install build-essential flex libelf-dev libc6-dev-amd64 binutils-dev libdwarf-dev

Thank you very much Sam, for your patience and your answers

I hope there is a way to update Setup.sh or the official documentation, so no one else has to guess the way to do it

1 Like

i have the same issue but that solution did not work
on kubuntu 20.04 lts
trying to compile release (4.26)

Have you have installed build tools , propietery drivers from amd or nvidia, and is running kubuntu with x11 from login screen? Wayland will not work for now, its support is WIP, upstream in sdl2 support is getting ready as base etc.
To find the exact issue could you please post your log file? from ProjectName/Saved/Logs/ProjectName.log as attachment or in pastebin?

Hello Sam, thanks for the reply.
the problem is when i try to compile the engine. i tried looking for the logs but couldnt find them.
i tried cloning and building ue5-early-access branch (on another folder) and i got the same issue.
note that UnrealHeaderTool compiles ok.

build tools: yes

Setting up binutils-dev (2.34-6ubuntu1.1) ...
Setting up libdwarf1:amd64 (20200114-1) ...
Setting up libsigsegv2:amd64 (2.12-2) ...
Setting up libelf-dev:amd64 (0.176-1.1build1) ...
Setting up libfl2:amd64 (2.6.4-6.2) ...
Setting up libdwarf-dev:amd64 (20200114-1) ...
Setting up m4 (1.4.18-4) ...
Setting up flex (2.6.4-6.2) ...
Setting up libfl-dev:amd64 (2.6.4-6.2) ...

nvidia drivers yes:

# aptitude search nvidia | grep "i "  
i A libnvidia-cfg1-390 - NVIDIA binary OpenGL/GLX configuration library
i A libnvidia-common-390 - Shared files used by the NVIDIA libraries
i A libnvidia-compute-390 - NVIDIA libcompute package
i A libnvidia-compute-390:i386 - NVIDIA libcompute package
i A libnvidia-decode-390 - NVIDIA Video Decoding runtime libraries
i A libnvidia-decode-390:i386 - NVIDIA Video Decoding runtime libraries
i A libnvidia-encode-390 - NVENC Video Encoding runtime library
i A libnvidia-encode-390:i386 - NVENC Video Encoding runtime library
i A libnvidia-fbc1-390 - NVIDIA OpenGL-based Framebuffer Capture runtime library
i A libnvidia-fbc1-390:i386 - NVIDIA OpenGL-based Framebuffer Capture runtime library
i A libnvidia-gl-390 - NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
i A libnvidia-gl-390:i386 - NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
i A libnvidia-ifr1-390 - NVIDIA OpenGL-based Inband Frame Readback runtime library
i A libnvidia-ifr1-390:i386 - NVIDIA OpenGL-based Inband Frame Readback runtime library
i A nvidia-compute-utils-390 - NVIDIA compute utilities
i A nvidia-dkms-390 - NVIDIA DKMS package
i  nvidia-driver-390 - NVIDIA driver metapackage
i A nvidia-kernel-common-390 - Shared files used with the kernel module
i A nvidia-kernel-source-390 - NVIDIA kernel source package
i A nvidia-prime - Tools to enable NVIDIA's Prime
i A nvidia-settings - Tool for configuring the NVIDIA graphics driver
v  nvidia-smi -  
i A nvidia-utils-390 - NVIDIA driver support binaries
i A xserver-xorg-video-nvidia-390 - NVIDIA binary Xorg driver

kubuntu 20.04


[Mon Aug 16 08:31] nande:~ 😃$ loginctl
SESSION  UID USER  SEAT  TTY
      3 1000 nande seat0    

1 sessions listed.
[Mon Aug 16 09:13] nande:~ 😃$ loginctl show-session 3 -p Type
Type=x11
[Mon Aug 16 09:13] nande:~ 😃$ uname -a
Linux nande-desktop 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[Mon Aug 16 11:36] nande:~ 😃$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

this is all the message i got from it.

[Mon Aug 16 09:35] nande:~/Work_SDD/UE4 😃$ git fetch
[Mon Aug 16 09:35] nande:~/Work_SDD/UE4 😃$ git pull
Already up to date.
[Mon Aug 16 09:35] nande:~/Work_SDD/UE4 😃$ make
bash "/home/nande/Work_SDD/UE4/Engine/Build/BatchFiles/Linux/Build.sh" CrashReportClient Linux Shipping  
Fixing inconsistent case in filenames.
Setting up Mono
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe CrashReportClient Linux Shipping
Using 'git status' to determine working set for adaptive non-unity build (/home/nande/Work_SDD/UE4).
Creating makefile for CrashReportClient (no existing makefile)
Performing 32 actions (6 in parallel)
[2/32] Compile Module.Core.6_of_14.cpp
[5/32] Compile Module.Core.2_of_14.cpp
[6/32] Compile Module.Core.7_of_14.cpp
[4/32] Compile Module.Core.3_of_14.cpp
[1/32] Compile Module.Core.12_of_14.cpp
[3/32] Compile Module.Core.5_of_14.cpp
[7/32] Compile Module.Core.14_of_14.cpp
[8/32] Compile Module.Core.1_of_14.cpp
[9/32] Compile Module.Core.9_of_14.cpp
[10/32] Compile Module.Core.4_of_14.cpp
[11/32] Compile Module.Core.13_of_14.cpp
[12/32] Compile Module.Core.11_of_14.cpp
[13/32] Compile Module.Core.10_of_14.cpp
[14/32] Compile Module.Core.8_of_14.cpp
[15/32] Link (lld) libUnrealHeaderTool-TraceLog.so
[16/32] Compile Module.Json.cpp
[17/32] Compile Module.Projects.cpp
[18/32] Compile Module.CoreUObject.7_of_8.cpp
[19/32] Compile Module.CoreUObject.4_of_8.cpp
[20/32] Compile Module.CoreUObject.5_of_8.cpp
[21/32] Compile Module.CoreUObject.2_of_8.cpp
[22/32] Compile Module.CoreUObject.3_of_8.cpp
[23/32] Link (lld) libUnrealHeaderTool-Core.so
[24/32] Link (lld) libUnrealHeaderTool-Json.so
[25/32] Link (lld) libUnrealHeaderTool-Projects.so
[26/32] Compile Module.CoreUObject.1_of_8.cpp
[27/32] Compile Module.CoreUObject.6_of_8.cpp
[28/32] Compile Module.CoreUObject.8_of_8.cpp
[29/32] Compile Module.UnrealHeaderTool.cpp
[30/32] Link (lld) libUnrealHeaderTool-CoreUObject.so
[31/32] Link (lld) UnrealHeaderTool
[32/32] UnrealBuildTool.exe UnrealHeaderTool.target
Total time in Local executor: 235.24 seconds
Parsing headers for CrashReportClient
  Running UnrealHeaderTool CrashReportClient "/home/nande/Work_SDD/UE4/Engine/Intermediate/Build/Linux/B4D820EA/CrashReportClient/Shipping/CrashReportClient.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="/home/nande/Work_SDD/UE4/Engine/Programs/UnrealBuildTool/Log_UHT.txt"
make: *** [Makefile:327: CrashReportClient-Linux-Shipping] Error 3
[Mon Aug 16 09:39] nande:~/Work_SDD/UE4 😞1$ cat /home/nande/Work_SDD/UE4/Engine/Programs/UnrealBuildTool/Log_UHT.txt
cat: /home/nande/Work_SDD/UE4/Engine/Programs/UnrealBuildTool/Log_UHT.txt: No such file or directory

i was playing around and it turns out running this works, (kudos dev team!)
make ARGS="-verbose"

1 Like

Sorry I thought that you were telling about project compilation so I said about the project log location. unreal engine build log does not get written to file sometimes though it shows in terminal that it is being logged to file.

I did a fresh install of ubuntu 20.04 LTS (will be same as your kubuntu version). Then did apt update, apt upgrade, then build-essential without any other things. Was able to compile engine without error. I also set nvidia drivers to 470.x (it is not relevent for building the engine, but ue4.26.2 and above will not run well without this driver, so set this in additional drivers)

Try these and see

delete the clang folders under
UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux

also delete all clang-**-Centos*.tar.gz (if you know which sdk is used for your UE version then that specific one)
UnrealEngine/.git/ue4-sdks/

#then again run from konsole with internet connected
./Setup.sh
./GenerateProjectFiles.sh

make sure there were no errors in the above commands

#Then clean the CrashReportClient by
make ARGS=“-clean” CrashReportClient

#then compile only the crash CrashReportClient
make ARGS=“-verbose” CrashReportClient

#if there were no errors then make the full set of required tools by as usual
make

1 Like

Thanks Sam,
i haven’t tried those things yet, though this is a fairly new repo clone, and i did a few clones with all the same result. so i dont think the toolchain is the problem.
I also have this running on another pc with a similar setup and works fine.(without all the build essentials and other packages)
i did some testings and im fearing it might be the cpu i have.

UnrealHeaderTool plain crashes… with an Illegal Instruction error.
i dont know why that line, or whats the actual instruction its trying to do.

[Wed Aug 18 12:14] nande:~/Work_SDD/UE4 😞1$ /home/nande/Work_SDD/UE4/Engine/Binaries/Linux/UnrealHeaderTool CrashReportClient "/home/nande/Work_SDD/UE4/Engine/Intermediate/Build/Linux/B4D820EA/CrashReportClient/Shipping/CrashReportClient.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="/home/nande/Work_SDD/UE4/Engine/Programs/UnrealBuildTool/Log_UHT.txt"
Illegal instruction (core dumped)

[Wed Aug 18 12:18] nande:~/Work_SDD/UE4 😞1$ gdb /home/nande/Work_SDD/UE4/Engine/Binaries/Linux/UnrealHeaderTool
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Registered pretty printers for UE4 classes
Reading symbols from /home/nande/Work_SDD/UE4/Engine/Binaries/Linux/UnrealHeaderTool...
Reading symbols from /home/nande/Work_SDD/UE4/Engine/Binaries/Linux/UnrealHeaderTool.debug...
(gdb) run
Starting program: /home/nande/Work_SDD/UE4/Engine/Binaries/Linux/UnrealHeaderTool 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x00007ffff7d44050 in FNameHelper::MakeWithNumber (View=..., FindType=<optimized out>, InternalNumber=<optimized out>) at Runtime/Core/Private/UObject/UnrealNames.cpp:1815
1815                                    AnsiName[I] = View.Str[I];
(gdb) 

this is the cpu i have at here, i dont know which flags are needed, or if those could be excluded from clang

# cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 10
model name      : AMD Phenom(tm) II X6 1100T Processor
stepping        : 0
microcode       : 0x10000dc
cpu MHz         : 1341.589
cache size      : 512 KB
physical id     : 0
siblings        : 6
core id         : 0
cpu cores       : 6
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt cpb hw_pstate vmmcall npt lbrv svm_lock nrip_save pausefilter
bugs            : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs null_seg amd_e400 spectre_v1 spectre_v2
bogomips        : 6630.72
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate cpb

(other 5 cores like so)
1 Like

Did some search and came to the conclusion that it is a combined effect from using clang 10.x with 4.26.x + old amd processor. Its not only your cpu all Phenom ii are affected.

Possible approaches

  1. Hack: This Unreal engine will work using clang 6.2 to clang 10.1. So either hack the toolchain and use v16 clang-9.0.1
    or
    use make an empty text file at Engine/Build/PerforceBuild.txt . Then install clang 9.0.1 on system and try to install it. (Warning: there is no easy going back once system clang is used like with perforce hack!)

  2. File a bug report as epic can change these codes to make 4.26.x and above to work on older amd processors when using this version of clang. (that is if they still support these processors from amd, they have stated in system requirement that any 4+ core amd/intel are supported, so they are to be blamed).

(4.26.x is not good compared to 4.25.4 for production!)

1 Like

Wow i truly appreciate your help, that was super helpful clear and complete.

I will try those.
Are you saying that 4.25 has a chance to compile?

1 Like