Skip to content

Fix/linux native crash#10

Open
mradu1-git wants to merge 2 commits into
onemnemo:mainfrom
mradu1-git:fix/linux-native-crash
Open

Fix/linux native crash#10
mradu1-git wants to merge 2 commits into
onemnemo:mainfrom
mradu1-git:fix/linux-native-crash

Conversation

@mradu1-git

Copy link
Copy Markdown

Description

Fixes a critical runtime crash (System.DllNotFoundException) on Linux systems when running self-contained builds.

The Problem

When PublishSingleFile was set to true, native C/C++ engine dependencies (libSkiaSharp.so, libe_sqlite3.so, and libHarfBuzzSharp.so) remained trapped inside the compressed extraction layer. This prevented the Avalonia hardware renderer, SQLite database provider, and HarfBuzz text shaper from loading properly at runtime.

The Solution

  • Configured PublishSingleFile to false to transition production builds to a portable directory distribution layout.
  • Explicitly enabled <IncludeNativeLibrariesForSelfContained>true</IncludeNativeLibrariesForSelfContained> to guarantee that all runtime-critical native shared objects are packaged cleanly side-by-side with the executable.

Verification

Validated on Arch Linux (Kernel 7.0.3-arch1-1) / .NET 10.0 runtime env). Hardware detection completes, font rendering shapes flawlessly via HarfBuzz, and the app initializes smoothly without requiring manual system library linking.

Proposal

Now that native file linking works flawlessly using the portable directory architecture layout, we can safely expand into automated Linux release engineering using standard GitHub release tarballs or Flathub integration targets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant