Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix libjack.so.0 detection for openSUSE #7690

Merged
merged 9 commits into from
Feb 8, 2025
Merged

Conversation

tresf
Copy link
Member

@tresf tresf commented Feb 8, 2025

Fixes nightly installs so that they'll start on openSUSE

  • Move libjack.so.0 from usr/lib/lmms/optional to usr/lib/jack (cosmetic decision)
  • Switch app-hooks/jack-apphook.sh to prefer ldd instead
  • Symlink libdb alongsize jack

Background:

The bug is caused by #7686 where we stopped looking in sbin for ldconfig however this PR changes the script to use ldd instead (a technique preferred after working on #7686 for reliability purposes).

The bug also exposed a new problem with our launcher; for systems that DO need our jack-apphook workaround, libdb-5.3.so is missing, which prevents LMMS from starting. This is solved by placing a symlink for libdb-5.3.so adjacent to libjack.so.0. We do this dynamically (preferring ldd again) for when this version inevitably changes.

Closes #7689

@tresf tresf marked this pull request as ready for review February 8, 2025 07:23
@tresf
Copy link
Member Author

tresf commented Feb 8, 2025

Testing:

Tests are a bit crude. I test WITH jack and WITHOUT jack. To simulate a system without jack, I simply move the binary, e.g:

  1. Test with jack
    ~/lmms-1.3.0-alpha.1.765+pr7690.gee47f1942-linux-x86_64.AppImage
  2. Test WITHOUT jack
    i. Move jack out of the way and start LMMS
    sudo mv /lib/x86_64-linux-gnu/libjack.so.0 /lib/x86_64-linux-gnu/libjack.so.0_bak && \
    ~/lmms-1.3.0-alpha.1.765+pr7690.gee47f1942-linux-x86_64.AppImage && \
    sudo mv /lib/x86_64-linux-gnu/libjack.so.0_bak /lib/x86_64-linux-gnu/libjack.so.0
    ii. Select "portaudio" from the audio devices, ensure no crash.
Status OS Arch
✅ PASS Ubuntu 22.04 x86_64
✅ PASS openSUSE TW x86_64
✅ PASS KDE Neon 2025 x86_64
✅ PASS Manjaro Linux x86_64
✅ PASS Fedora 41 x86_64
✅ PASS openSUSE TW aarch64
✅ PASS Ubuntu 24.04 aarch64

@tresf tresf merged commit c81d497 into LMMS:master Feb 8, 2025
10 checks passed
@tresf tresf deleted the opensuse-jack branch February 8, 2025 20:11
sakertooth pushed a commit to sakertooth/lmms that referenced this pull request Feb 17, 2025
Fix libjack.so.0 detection for openSUSE
Add libdb-5.so to optional as symlink
Rossmaxx pushed a commit to Rossmaxx/lmms that referenced this pull request Mar 1, 2025
Fix libjack.so.0 detection for openSUSE
Add libdb-5.so to optional as symlink
Rossmaxx pushed a commit to Rossmaxx/lmms that referenced this pull request Mar 3, 2025
Fix libjack.so.0 detection for openSUSE
Add libdb-5.so to optional as symlink
Rossmaxx pushed a commit to Rossmaxx/lmms that referenced this pull request Mar 3, 2025
Fix libjack.so.0 detection for openSUSE
Add libdb-5.so to optional as symlink
Rossmaxx pushed a commit to Rossmaxx/lmms that referenced this pull request Mar 3, 2025
Fix libjack.so.0 detection for openSUSE
Add libdb-5.so to optional as symlink
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.

Nightly won't start on openSUSE Tumbleweed
1 participant