Unreal 5.7 Trace server not working on Rocky 8

I get an error:

$ xmake f -p linux -m release --musl=y -y; xmake -y
checking for platform ... linux (x86_64)
checking for musl ... ok
updating repositories .. ok
  => download https://github.com/xmake-mirror/musl.cc/releases/download/20210202/x86_64-linux-musl-cross.linux.tgz .. ok
  => install muslcc 20210202 .. ok
[  3%]: <UnrealTraceServer> cache compiling.release src/Pch.h
src/Pch.h:3:9: warning: #pragma once in main file
    3 | #pragma once
      |         ^~~~
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioContext.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioFile.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioIoable.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioSocket.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioTcpServer.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioTickable.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Cbor.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/InstanceInfo.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Lifetime.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Logging.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Main.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Recorder.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Store.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/StoreCborServer.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/StoreService.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/StoreSettings.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/SystemTray.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/TraceRelay.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Asio.cpp
error: src/AsioSocket.h:22:100: error: default member initializer for ‘FAsioSocket::FKeepAliveConfig::Enabled’ required before the end of its enclosing class
   22 |        FAsioSocket(asio::ip::tcp::socket& InSocket, FKeepAliveConfig& KeepAlive = FKeepAliveConfig{});
      |                                                                                                    ^
src/AsioSocket.h:17:16: note: defined here
   17 |   bool Enabled = false;
      |                ^~~~~~~~
src/AsioSocket.h:22:100: error: default member initializer for ‘FAsioSocket::FKeepAliveConfig::TimeoutSec’ required before the end of its enclosing class
   22 |        FAsioSocket(asio::ip::tcp::socket& InSocket, FKeepAliveConfig& KeepAlive = FKeepAliveConfig{});
      |                                                                                                    ^
src/AsioSocket.h:18:21: note: defined here
   18 |   uint32 TimeoutSec = 0;
      |                     ^~~~
src/AsioSocket.h:22:100: error: default member initializer for ‘FAsioSocket::FKeepAliveConfig::IntervalSec’ required before the end of its enclosing class
   22 |        FAsioSocket(asio::ip::tcp::socket& InSocket, FKeepAliveConfig& KeepAlive = FKeepAliveConfig{});
      |                                                                                                    ^
src/AsioSocket.h:19:22: note: defined here
   19 |   uint32 IntervalSec = 0;
  > in src/TraceRelay.cpp

[Attachment Removed]

I didn’t have clang installed, doesn’t unreal bundle its own? I installed clang (21.1 is in the repos), cleared the build and .xmake folders, and re-ran, same result

[Attachment Removed]

$ xmake f -vD

configure

{

ndk_stdcxx = true

musl = true

target_os = linux

ccache = true

kind = static

arch = x86_64

dotnet_sdkver = 10.0.110

plat = linux

host = linux

dotnet = /usr/lib64/dotnet/sdk/10.0.110

builddir = build

mode = release

}

[Attachment Removed]

Jack stepped out for lunch, so I ssh’d in and ran it for him:

/usr/local/bin/xmake show -l toolchains

armcc ARM Compiler Version 5 of Keil MDK

armclang ARM Compiler Version 6 of Keil MDK

ascendc Huawei Ascend C (bisheng compiler driver)

c51 Keil development tools for the 8051 Microcontroller Architecture

circle A new C++20 compiler. It’s written from scratch and designed for easy extension.

clang-12 A C language family frontend for LLVM (12)

clang-13 A C language family frontend for LLVM (13)

clang-14 A C language family frontend for LLVM (14)

clang-15 A C language family frontend for LLVM (15)

clang-16 A C language family frontend for LLVM (16)

clang-17 A C language family frontend for LLVM (17)

clang-18 A C language family frontend for LLVM (18)

clang-19 A C language family frontend for LLVM (19)

clang-20 A C language family frontend for LLVM (20)

clang-21 A C language family frontend for LLVM (21)

clang-22 A C language family frontend for LLVM (22)

clang-23 A C language family frontend for LLVM (23)

clang-cl LLVM Clang C/C++ Compiler compatible with msvc

clang A C language family frontend for LLVM

cosmocc build-once run-anywhere c library

cross Common cross compilation toolchain

cuda CUDA Toolkit (nvcc, nvc, nvc++, nvfortran)

dlang D Programming Language Compiler (Auto)

dmd D Programming Language Compiler

dotnet .NET SDK Toolchain

dpcpp Intel LLVM C++ Compiler for data parallel programming model based on Khronos SYCL

emcc A toolchain for compiling to asm.js and WebAssembly

envs Environment variables toolchain

fasm Flat Assembler

filc A memory safe implementation of the C and C++ programming languages.

flang LLVM Fortran Compiler

fpc Free Pascal Programming Language Compiler

gcc-10 GNU Compiler Collection (10)

gcc-11 GNU Compiler Collection (11)

gcc-12 GNU Compiler Collection (12)

gcc-13 GNU Compiler Collection (13)

gcc-14 GNU Compiler Collection (14)

gcc-15 GNU Compiler Collection (15)

gcc-16 GNU Compiler Collection (16)

gcc-4.8 GNU Compiler Collection (4.8)

gcc-4.9 GNU Compiler Collection (4.9)

gcc-8 GNU Compiler Collection (8)

gcc-9 GNU Compiler Collection (9)

gcc GNU Compiler Collection

gdc The GNU D Compiler (GDC).

gfortran GNU Fortran Programming Language Compiler

gnu-rm GNU Arm Embedded Toolchain

go Go Programming Language Compiler

hdk Harmony SDK

iararm IAR ARM C/C++ Compiler

icc Intel C/C++ Compiler

icx Intel LLVM C/C++ Compiler

ifort Intel Fortran Compiler

ifx Intel LLVM Fortran Compiler

iverilog Icarus Verilog

kotlin-native The Kotlin Programming Language Compiler.

ldc The LLVM-based D Compiler.

llvm A collection of modular and reusable compiler and toolchain technologies

masm32 The MASM32 SDK

mingw Minimalist GNU for Windows

msvc Microsoft Visual C/C++ Compiler

muslcc The musl-based cross-compilation toolchains

nasm NASM Assembler

ndk Android NDK

nim Nim Programming Language Compiler

rust Rust Programming Language Compiler

sdcc Small Device C Compiler

swift Swift Programming Language Compiler

ti-c2000 TI-CGT C2000 compiler

ti-c6000 TI-CGT C6000 compiler

tinycc Tiny C Compiler

verilator Verilator open-source SystemVerilog simulator and lint system

wasi WASI-enabled WebAssembly C/C++ toolchain.

xcode Xcode IDE

yasm The Yasm Modular Assembler

zig Zig Programming Language Compiler

zigcc Use zig cc/c++ as C/C++ Compiler

[Attachment Removed]

$ xmake f -p linux -m release -y; xmake -y
checking for platform ... linux (x86_64)
checking for musl ... no
[  3%]: <UnrealTraceServer> cache compiling.release src/Pch.h
src/Pch.h:3:9: warning: #pragma once in main file
 #pragma once
         ^~~~
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioContext.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioFile.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioIoable.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioSocket.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioTcpServer.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/AsioTickable.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Cbor.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/InstanceInfo.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Lifetime.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Logging.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Main.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Recorder.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Store.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/StoreCborServer.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/StoreService.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/StoreSettings.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/SystemTray.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/TraceRelay.cpp
[  7%]: <UnrealTraceServer> cache compiling.release src/Asio.cpp
error: src/AsioSocket.h:22:100: error: default member initializer for ‘FAsioSocket::FKeepAliveConfig::Enabled’ required before the end of its enclosing class
        FAsioSocket(asio::ip::tcp::socket& InSocket, FKeepAliveConfig& KeepAlive = FKeepAliveConfig{});
                                                                                                    ^
src/AsioSocket.h:17:16: note: defined here
   bool Enabled = false;
                ^~~~~~~~
src/AsioSocket.h:22:100: error: default member initializer for ‘FAsioSocket::FKeepAliveConfig::TimeoutSec’ required before the end of its enclosing class
        FAsioSocket(asio::ip::tcp::socket& InSocket, FKeepAliveConfig& KeepAlive = FKeepAliveConfig{});
                                                                                                    ^
src/AsioSocket.h:18:21: note: defined here
   uint32 TimeoutSec = 0;
                     ^~~~
src/AsioSocket.h:22:100: error: default member initializer for ‘FAsioSocket::FKeepAliveConfig::IntervalSec’ required before the end of its enclosing class
        FAsioSocket(asio::ip::tcp::socket& InSocket, FKeepAliveConfig& KeepAlive = FKeepAliveConfig{});
                                                                                                    ^
src/AsioSocket.h:19:22: note: defined here
   uint32 IntervalSec = 0;
  > in src/TraceRelay.cpp

[Attachment Removed]

I’ve been trying to look at this between other tasking however I had a bit of disruption with this CL: Running Setup.sh seems to pull dependencies which also are incompatible with Rocky 8, and produce an error when GenerateProjectFiles.sh is run. I rolled back Engine/Binaries/DotNET/ and that seemed to get me back in a good state, however I will need to try again with this CL when I am able, this week’s been a little chaotic for unrelated reasons and it’s been hard to test this, just wanted to give an update

[Attachment Removed]

Hi Jack,

can you confirm whether you integrated only the deltas from the aforementioned CL or the file in its entirety? Integrating the file in its entirety would not be compatible with an older version of UE as it would contain updates to other binaries.

Best regards.

[Attachment Removed]