Skip to content

Update Native SDK #664

@tustanivsky

Description

@tustanivsky

Building the Sentry Native SDK is an essential part of Unreal Engine plugin CI workflow which is required to support automatic crash capturing on Linux.

Starting from Native SDK version 0.7.7 we've faced issues with updating the sentry-native submodule caused by multiple build errors in CI (workflow file, build script). Specifically, the upgrade of mini_chromium (one of the crashpad's dependencies) now requires C++20 and that causes compatibility issues with older toolchains used in Unreal Engine and our CI environment.

The attempt to address the above problem was made in scope of #639. Switching to newer clang-13 and libc++-16 in CI fixed the Native SDK build and even allowed us to pass the test checks for UE 5.3/5.4 however it still fails for UE 5.2 (and probably for older versions too) due to mismatched versions of GLIBC and GLIBCXX. This could mean that Docker containers provided by Epic Games which we're using for testing don’t meet Unreal Engine's toolchain requirements. We've already been in a somewhat similar situation in #173 that made us stick to the older Ubuntu-20.04 version to produce Native SDK build artifacts.

Possible alternative workarounds:

  • Consider using breakpad instead of crashpad (not ideal)
  • Investigate if there's a proper way to hook into the engine's error-handling flow to send crashes to Sentry

PR in UE SDK which's also related to this subject: #657

Related issue in Native SDK: getsentry/sentry-native#1041.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions