Skip to content

Fix Linux launcher missing SONAME mappings (Arch startup crash) - #58

Open
shreyasmene06 wants to merge 1 commit into
Shrey113:mainfrom
shreyasmene06:fix/linux-launcher-missing-soname-map
Open

Fix Linux launcher missing SONAME mappings (Arch startup crash)#58
shreyasmene06 wants to merge 1 commit into
Shrey113:mainfrom
shreyasmene06:fix/linux-launcher-missing-soname-map

Conversation

@shreyasmene06

Copy link
Copy Markdown

What this fixes

Fixes Linux launcher startup failures where dependency checks pass but the app still crashes with missing shared libraries.

Closes #57

Root cause

The release launcher script had no package mappings for several runtime SONAMEs required by bundled ffmpeg stack:

  • libjxl.so.0.7
  • libjxl_threads.so.0.7
  • librav1e.so.0
  • libSvtAv1Enc.so.1
  • librist.so.4

On rolling distros (Arch), newer SONAMEs are present but older SONAMEs are absent, so launch failed even with libraries installed.

Changes

  1. Add package mappings for the missing SONAMEs across distro maps
  2. Add Arch compatibility symlink fallback in local lib/ for known SONAME bumps (libjxl, libjxl_threads, librav1e, libSvtAv1Enc)
  3. Track launcher source in-repo at android_dex_linux/run_android_dex.sh
  4. Note launcher script source path in README

Validation summary

After patching, ldd no longer reports unresolved libs for the launcher binary on Arch and the app proceeds to GTK startup instead of exiting with missing library errors.

- add missing package mappings for libjxl/libjxl_threads/librav1e/libSvtAv1Enc/librist\n- add Arch compatibility symlink fallback for SONAME bumps\n- document launcher script path in README\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@persoluna

Copy link
Copy Markdown

My system has:
libjxl 0.12.0
rav1e 0.8.1
svt-av1 4.2.0

ldd reported the missing SONAMEs:
libjxl.so.0.7
libjxl_threads.so.0.7
librav1e.so.0
libSvtAv1Enc.so.1
librist.so.4

After investigating with readelf, objdump, and LD_DEBUG=libs, the startup failure matched the root cause described in this PR.
One question: the PR adds compatibility symlinks for older SONAMEs. Have you been able to test the application beyond startup on Arch (screen mirroring, recording, etc.)? I'm curious whether the newer libraries are ABI-compatible enough in practice, or whether a future rebuild against current libraries is planned

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.

Fix: Linux launcher misses FFmpeg/JXL dependency mappings and crashes on Arch

2 participants