musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.11k stars 2.62k forks source link

[MU4 Issue] Musescore 4 (appimage version from official site) cannot find libMuseSamplerCoreLib.so #15562

Open ChihHao-Su opened 1 year ago

ChihHao-Su commented 1 year ago

Describe the bug I installed muse hub and muse sound, and ensure libMuseSamplerCoreLib.so is in /usr/lib.

➜  ~ ls /usr/lib | grep lib 
libMuseSamplerCoreLib.so

Then I launched musescore 4.0.0, I got:

22:38:08.310 | ERROR | main_thread | MuseSamplerLibHandler | MuseSamplerLibHandler: Unable to open MuseSampler library, path: libMuseSamplerCoreLib.so
22:38:08.310 | ERROR | main_thread | MuseSamplerResolver | checkLibrary: Incompatible MuseSampler library; ignoring

Workaround Running musescore 4 with the environment varible LD_LIBRARY_PATH=/usr/lib can solve the problem.

To Reproduce Steps to reproduce the behavior:

  1. Install muse hub
  2. Download some muse sound library from muse hub
  3. Install musescore 4.0.0 (appimage version from official site) and launch.

Expected behavior Musescore 4 is able to find libMuseSamplerCoreLib.so, MuseSamplerLibHandler and MuseSamplerResolver should not report errors about "unable to open libMuseSamplerCoreLib.so".

Platform information

MarcSabatella commented 1 year ago

Hmm, was your LD_LIBRARY_PATH set to something non-standard previously? Normally Linux programs find things in /usr/lib already by default, and msueScore does on my Linux system, and others' as well. There must be something unique about your system causing programs not to be able to find files in the standard places.

ChihHao-Su commented 1 year ago

於 週六,2022-12-24 於 09:37 -0800,Marc Sabatella 提到:

Hmm, was your LD_LIBRARY_PATH set to something non-standard previously? Normally Linux programs find things in /usr/lib already by default, and msueScore does on my Linux system, and others' as well. There must be something unique about your system causing programs not to be able to find files in the standard places. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

Hmm, was your LD_LIBRARY_PATH set to something non-standard previously? No.

I found that if I move libMuseSamplerCoreLib.so into /usr/lib64, then musescore is able to find it. It seems that fedora doesn't looks for library in /usr/lib but /usr/lib64.

I checked /usr/lib, and there's no shared objects in it: ➜ ~ ls /usr/lib abrt-java-connector jvm os-release alsa jvm-common ostree binfmt.d jvm-private pam.d cpp kbd polkit-1 cups kconf_update_bin python2.7 debug kde3 python3.10 dracut kde4 qt5 dtrace kdump realmd eclipse kernel rpm environment.d libMuseSamplerCoreLib.so rpmrebuild fedora-release locale swidtag fedora-third-party modprobe.d sysctl.d firewalld modules sysimage firmware modules-load.d systemd fontconfig motd system-release-cpe games motd.d sysusers.d gcc mozilla telegraf grub msttcore-fonts-installer tmpfiles.d issue NetworkManager udev issue.net node_modules x86_64-linux-gnu java nvidia

I can find shared objects in /usr/lib64: ➜ ~ ls /usr/lib64 icu iscsi jim kconf_update_bin kde3 kde4 krb5 ladspa ldb ld-linux-x86-64.so.2 liba52.so.0 liba52.so.0.0.0 libaa.so.1 libaa.so.1.0.4 libabrt_gui.so.0 libabrt_gui.so.0.0.1 libabrt.so.0 libabrt.so.0.1.0 libabw-0.1.so.1 libabw-0.1.so.1.0.3 libaccounts-glib.so.0 libaccounts-glib.so.1.25 libaccounts-qt5.so.1 ...

Salvatore-1962 commented 9 months ago

Hallo there, I confirm that by simply copying the libMuseSamplerCoreLib.so file from /usr/lib to /usr/lib64 Musescore allows using new sounds in the mixer.

doronbehar commented 3 months ago

Hey all, question:

In our distribution we try to debug an issue a user has reported, and we the user doesn't experience it with the appimage version from the official website. What is supposed to be the source of this libMuseSamplerCoreLib.so? From Musescore? Or from musehub ?

cbjeukendrup commented 3 months ago

libMuseSamplerCoreLib.so comes from Muse Hub (or nowadays "Muse Sounds Manager", on Linux). It is silently installed when installing one of the Muse Sounds libraries.

Recently I discovered that this MuseSampler library is sensitive to the filename of the MuseScore executable. On macOS, the executable needs to be called mscore, otherwise MuseSampler will refuse to initialise. Something similar applies on Linux. However that only affects the initialisation of MuseSampler, and not whether it is found or not, so I don't know if that can be the problem in this case.