Skip to content

Linux dedicated server packaging fails on Windows host with unresolved libunwind symbols from libsentry.a in 1.9.1 #1300

@dclipca

Description

@dclipca

Environment

How do you use Sentry?
Self-hosted / on-premise. DSN points to our own Sentry instance. I do not have the exact server version on hand.

Which version of the SDK?
Sentry Unreal 1.9.1
The logs also show native SDK sentry.native.unreal/0.13.2.

How did you install the package? (Git-URL, Assetstore)
Installed as a project plugin in Plugins/SentryUnreal after bumping the plugin version.

Which version of Unreal?
5.7.3-0+UE5

Is this happening in Unreal (editor) or on a player like Android, iOS, Windows?
This happens during packaging/building a Linux dedicated server target from a Windows host using Unreal’s Linux cross-toolchain. It is not a runtime crash.

Steps to Reproduce

  1. Update the Sentry Unreal plugin to 1.9.1.
  2. Use Unreal 5.7.3 on Windows.
  3. Package/build a Linux Server target (TargetType.Server) from Windows.
  4. Let UBT/UAT reach the final Linux link step.

Expected Result

The Linux server target should link successfully with the Sentry plugin enabled.

Actual Result

The final Linux link step fails with unresolved libunwind symbols referenced by libsentry.a:

ld.lld: error: undefined symbol: _ULx86_64_init_local2
>>> referenced by sentry_unwinder_libunwind.c:50
>>>               sentry_unwinder_libunwind.c.o:(sentry__unwind_stack_libunwind) in archive .../Plugins/SentryUnreal/Source/ThirdParty/Linux/lib/libsentry.a

ld.lld: error: undefined symbol: _Ux86_64_getcontext
ld.lld: error: undefined symbol: _ULx86_64_init_local
ld.lld: error: undefined symbol: _ULx86_64_get_reg
ld.lld: error: undefined symbol: _ULx86_64_step
clang++: error: linker command failed with exit code 1

One detail that seems relevant:

  • Plugins/SentryUnreal/Source/Sentry/Sentry.Build.cs includes libunwind.a for Linux
  • but the generated final link response file for the server target does not include libunwind.a

In my build, the generated XChatServer-Linux-Shipping.rsp contains:

.../libmini_chromium.a
.../libsentry.a
.../libcrashpad_mpack.a

but does not contain:

.../libunwind.a

So this looks like a Linux server packaging/link regression where libsentry.a is linked, but libunwind.a is not propagated into the final link command.

Any logs or screenshots

Relevant packaging output:

UATHelper: Packaging (Linux): [927/929] Link (lld) XChatServer-Linux-Shipping
UATHelper: Error: Packaging (Linux): ld.lld: error: undefined symbol: _ULx86_64_init_local2
UATHelper: Error: Packaging (Linux): >>> referenced by sentry_unwinder_libunwind.c:50
UATHelper: Error: Packaging (Linux): >>>               sentry_unwinder_libunwind.c.o:(sentry__unwind_stack_libunwind) in archive .../Plugins/SentryUnreal/Source/ThirdParty/Linux/lib/libsentry.a

UATHelper: Error: Packaging (Linux): ld.lld: error: undefined symbol: _Ux86_64_getcontext
UATHelper: Error: Packaging (Linux): >>> referenced by sentry_unwinder_libunwind.c:63
UATHelper: Error: Packaging (Linux): >>>               sentry_unwinder_libunwind.c.o:(sentry__unwind_stack_libunwind) in archive .../Plugins/SentryUnreal/Source/ThirdParty/Linux/lib/libsentry.a

UATHelper: Error: Packaging (Linux): ld.lld: error: undefined symbol: _ULx86_64_init_local
UATHelper: Error: Packaging (Linux): ld.lld: error: undefined symbol: _ULx86_64_get_reg
UATHelper: Error: Packaging (Linux): ld.lld: error: undefined symbol: _ULx86_64_step
UATHelper: Error: Packaging (Linux): clang++: error: linker command failed with exit code 1
UATHelper: Packaging (Linux): Failed to link .../Binaries/Linux/XChatServer-Linux-Shipping

If helpful, I can also provide:

  • the generated Linux .rsp file,
  • the relevant Sentry.Build.cs snippet,
  • or a minimal repro using a dedicated server target.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bugsomething isn't working as it shouldUnreal Engineplatform label
    No fields configured for issues without a type.

    Projects

    Status

    No status

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions