$ ./Engine/Binaries/Linux/UnrealTraceServer
./Engine/Binaries/Linux/UnrealTraceServer: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by ./Engine/Binaries/Linux/UnrealTraceServer)
./Engine/Binaries/Linux/UnrealTraceServer: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26’ not found (required by ./Engine/Binaries/Linux/UnrealTraceServer)
./Engine/Binaries/Linux/UnrealTraceServer: /lib64/libc.so.6: version `GLIBC_2.33’ not found (required by ./Engine/Binaries/Linux/UnrealTraceServer)
./Engine/Binaries/Linux/UnrealTraceServer: /lib64/libc.so.6: version `GLIBC_2.34’ not found (required by ./Engine/Binaries/Linux/UnrealTraceServer)
./Engine/Binaries/Linux/UnrealTraceServer: /lib64/libc.so.6: version `GLIBC_2.32’ not found (required by ./Engine/Binaries/Linux/UnrealTraceServer)
[Attachment Removed]
Steps to Reproduce
Attempting to launch trace server, server fails to launch due to glibc compatiblity
[Attachment Removed]
Hi Jack,
Can you confirm toolchain details used to build the UTS binary?
Best regards.
[Attachment Removed]
$readelf -p .comment ./UnrealTraceServer
String dump of section '.comment':
[ 0] GCC: (GNU) 11.4.1 20230605 (Red Hat 11.4.1-2)
$ readelf -n UnrealTraceServer
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: <procesor-specific type 0xc0008002 data: 03 00 00 00 >
x86 feature used: x86, XMM
<procesor-specific type 0xc0010002 data: 03 00 00 00 >
Displaying notes found in: .note.gnu.build-id
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: f27d32101ab8cccfe2a8b7e7fd842aaa64bc5534
Displaying notes found in: .note.ABI-tag
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 3.2.0
Displaying notes found in: .gnu.build.attributes
Owner Data size Description
GA$<version>3a1 0x00000010 OPEN
Applies to region from 0x406000 to 0x45b515
GA*FORTIFY:0x0000000ff 0x00000010 func
Applies to region from 0x4083a0 to 0x4083a5
GA+GLIBCXX_ASSERTION: 0x00000000 func
Applies to region from 0x4083a0 to 0x4083a5
$ file UnrealTraceServer
UnrealTraceServer: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f27d32101ab8cccfe2a8b7e7fd842aaa64bc5534, for GNU/Linux 3.2.0, stripped
[Attachment Removed]
Hi Jack,
Rocky 8 is fujndamentally tied to GLIB 2.26 and GLIBCXX 3.4.25. You would need to install isolated versions of C/CXX Glibs (as these cannot be replaced at the system level) and run UTS against these. Please advise if you need information on how to do that.
Best regards.
[Attachment Removed]
[mention removed]
I’m the Linux admin for my team.
What is your working suggestion, containerization or virtual machines?
[Attachment Removed]
As a followup, based on Epic’s documentation: https://dev.epicgames.com/documentation/unreal\-engine/hardware\-and\-software\-specifications\-for\-unreal\-engine?application\_version\=5\.7
`Rocky Linux 8` is listed as the baseline Linux test suite with Ubuntu. In order to convince upper management that EL9 / containers would be a requirement, I need to point to official Epic-based documentation for cause. Is it possible for the major version to be upgraded in the documentation?
Thanks!
[Attachment Removed]
Hi William,
Was the UTS built on Rocky 8 or on another machine? Ticket indicates you are on GitHub but would like to confirm whether this is a locally built or launcher version.
Best regards.
[Attachment Removed]
Hi William,
Confirmed the min spec still stands for Vanilla UE 5.7. Can you confirm the output of ldd UnrealTraceServer to confirm that the dependencies are coming directly from UnrealTraceServer and not some 3rd party library? If it is originating from an internal UE library, that would be something we’ll need to address.
Best regards.
[Attachment Removed]
Hi Jack,
Thanks for that additional information. I suspect it’s a case that some of the dependent 3rd party libraries linked into UnrealTraceServer may be pulling in the various versions GLIBC/XX. You can track progress issue UE-390550 on the Unreal Engine Public Issue Tracker.
Best regards.
[Attachment Removed]
Hi Jack,
Can you try rebuilding UTS on your Rocky 8 machine as followss
cd Engine/Source/Programs/UnrealTraceServer; xmake f -p linux -m release --musl=y -y; xmake -yand advise if it resolves the problem?
Best regards.
[Attachment Removed]
Hi Jack,
Can you confirm what toolchain you are using on the Rocky 8 machine? I believe clang 20.1.8 is required to build UTS.
Best regards.
[Attachment Removed]
Hi Jack,
Can you run
xmake f -vDto confirm which toolchain is being used?
[Attachment Removed]
Thanks, can you additionallt run:
xmake show -l toolchains
[Attachment Removed]
Thanks William,
Does the original build work successfully without the musl argument?
xmake f -p linux -m release -y; xmake -yThanks.
[Attachment Removed]
Hi Jack,
This has been resolved with the following CL. It should integrate correctly into 5.7 but please advise if it doesn’t. If running from Github, you’ll need to rerun Setup.sh to download the updated binary.
Best regards.
[Attachment Removed]
Hi Jack,
Your best path given that you are on 5.7 would be to only integrate the deltas pertaining specifically to the UTS binary hash to limit other side effects.
Best regards.
[Attachment Removed]
I finally got a chance to clone that specific commit and it seems that the trace server binaries at least launch enough to give me the help screen. I do notice that the binaries seem to just come directly with checking out, and aren’t part of the build process. I am going to play around with transplanting it into our branch.
I would like to revisit the above issue of the setup/generate workflow pulling elements that are incompatible with Rocky 8, but that may warrant a separate thread. Thanks for your support so far!
[Attachment Removed]
It was built on Rocky8 from source.
[Attachment Removed]
$ ldd UnrealTraceServer
./UnrealTraceServer: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./UnrealTraceServer)
./UnrealTraceServer: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./UnrealTraceServer)
./UnrealTraceServer: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by ./UnrealTraceServer)
./UnrealTraceServer: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./UnrealTraceServer)
./UnrealTraceServer: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./UnrealTraceServer)
linux-vdso.so.1 (0x00007ffe0615e000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f919bfe9000)
libm.so.6 => /lib64/libm.so.6 (0x00007f919bc67000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f919ba4f000)
libc.so.6 => /lib64/libc.so.6 (0x00007f919b679000)
/lib64/ld-linux-x86-64.so.2 (0x00007f919c37e000)
[Attachment Removed]