LibreScore / app-librescore

Download the LibreScore app
MIT License
382 stars 17 forks source link

Linux installation #1

Closed gorgobacka closed 1 year ago

gorgobacka commented 2 years ago

Is it possible to provide precompiled versions for Linux or at least provide the steps to install it (using the source)?

sealsrock12 commented 2 years ago

Currently, one of the plugins we use does not have Linux support, so we cannot build it for Linux. But it is in progress.

pinpox commented 2 years ago

Any updates on this? Linux support would be great

sealsrock12 commented 2 years ago

The plugin still doesn't support linux. You can track its development on https://github.com/flutter-webrtc/flutter-webrtc/issues/492, but it doesn't seem like they're making much progress.

PeterNjeim commented 2 years ago

No updates. We want to have Linux support. As we've said many times in the Discord, the moment one of the plugins we're using supports Linux, we'll release the Linux version. There's literally nothing we can do right now (the plugin requires a rewrite).

People have had success using Lutris and Wine, at least when not using AMD GPUs: https://discord.com/channels/774491656643674122/774491656643674128/936710744291041291.

Otherwise, use an Android emulator or a Windows VM.

pinpox commented 2 years ago

As I assume the app uses the API, would it be possible to share the necessary request? Maybe Linux Users can work around this with a few curl requests manually until it is fixed.

PeterNjeim commented 2 years ago

@pinpox if it were that easy, this app wouldn't exist, and the CLI tool would have MSCZ support. We are supporting as many platforms as we can. The app is not compilable on Linux in its current state, please use Wine + Lutris if you aren't on an AMD GPU, otherwise, use an Android emulator or VM, or Windows VM, they work.

MeGreen commented 1 year ago

Hi, Flutter-webrtc added two releases in the last week regarding linux support, with i guess a more polished 1.0 version being close to finish it seems. It would be awesome, if this app would become supported on linux natively soon :)

PeterNjeim commented 1 year ago

Thanks for the heads up but we already knew that and made a Linux version already, it'll be releasing soon

PeterNjeim commented 1 year ago

Soon™ has arrived. I only tested it on Ubuntu 22.04 so you guys need to test it to see if I need to fix anything

Instructions: https://github.com/LibreScore/app-librescore#linux Download: https://github.com/LibreScore/app-librescore/releases/latest/download/LibreScore.AppImage

[//]: <cc @99thGamer9 @Barmarel>

MeGreen commented 1 year ago

Manjaro Gnome with Wayland, fuse2 v2.9.9-4: doesn't install:

chmod a+x ./LibreScore.AppImage
./LibreScore.AppImage --install
/tmp/.mount_LibreSNCJ5ld/AppRun: line 7: 11369 Segmentation fault      (core dumped) "${APPDIR}/setup" "$@"
PeterNjeim commented 1 year ago

Well, can't really diagnose it with just a segfault, obviously my first question is, are you using x86_64 or arm64

MeGreen commented 1 year ago

Sorry, my fault :| x86_64 64bit, AMD Plattform

Is there a verbose option, or something similar?

PeterNjeim commented 1 year ago

Well, as the segfault says, there is a core dump. Analyzing a core dump is kind of a tedious task, don't really feel like doing it right now lol, stayed up late today. I'm also on AMD, so that's not the issue. Something I'll ask you to do before I go to bed is to run ./LibreScore.AppImage --appimage-extract. It'll extract the contents of the appimage into a folder. AppRun is the main "initial" binary. Maybe you can skip it and run librescore directly (without installing).

MeGreen commented 1 year ago

´´´ ./AppRun ./AppRun: line 12: /librescore: No such file or directory ./librescore ./librescore: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory ´´´

Sleep well, i may go poke also a bit

PeterNjeim commented 1 year ago

You can't run AppRun when it isn't in the AppImage as the APPDIR variable isn't set. You can run APPDIR=. ./AppRun to set it to the current directory (will only work if you are cd'd into the extracted AppImage's directory). As for the librescore shared library error, I know how to fix it, and will release a fix soon

MeGreen commented 1 year ago

No Stress, thank you for investement.

PeterNjeim commented 1 year ago

Anyways, you seg faulted while running the setup script. It's just a bash script so it's surprising it seg faulted. Try running ./setup --help and see if it prints the help message. If it does, try running ./setup --install (it'll probably fail, but it's just to see what's causing the seg fault exactly). This is my last message for today, thanks for debugging for me

Xmader commented 1 year ago

Is it possible to build the AppImage on a lower version of Ubuntu? (<= 18.04, maybe in docker since Github Actions has deprecated the Ubuntu 18.04 runner)

It seems that the segfault comes from the bundled libc.so.6 (GLIBC_2.35).

PeterNjeim commented 1 year ago

I can remove the bundled libc and let it use the system version

Xmader commented 1 year ago

No. The minimum version of libc is set to 2.34 during compile time.

./librescore: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./librescore)
./librescore: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./lib/libflutter_webrtc_plugin.so)
./librescore: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./lib/libstdc++.so.6)
./librescore: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./lib/libstdc++.so.6)
./librescore: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./lib/libstdc++.so.6)

I am using Ubuntu 18.04, and it comes with glibc 2.27. (I somehow installed GLIBC 2.31)

Xmader commented 1 year ago

The reason the bundled libc.so.6 failed is that it isn't using a corresponding ld-linux.so.2. https://stackoverflow.com/a/851229

The path of ld-linux.so.2 is an absolute path so it didn't get bundled into the AppImage.

ldd librescore:

...
/lib64/ld-linux-x86-64.so.2 (0x00007fd5e670b000)
...

I could let it use a relative path by patchelf --set-interpreter lib/ld-linux-x86-64.so.2 ./librescore, and https://github.com/LibreScore/app-librescore/blob/6d486031790dd4053fc8617ee01954d3f33c0cb0/.github/workflows/build_app.yaml#L67 could bundle it into the AppImage.

The segfault has disappeared but it comes to get a new error that can't display the GUI

libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
libGL error: failed to load driver: swrast

** (librescore:12277): WARNING **: 17:03:39.349: Failed to start Flutter renderer: Unable to create a GL context

#
# Fatal error in: ../../media/engine/adm_helpers.cc, line 39
# last system error: 0
# Check failed: 0 == adm->Init() (0 vs. -1)
# Failed to initialize the ADM.Aborted

libstdc++.so is different from the one used by the OS.

PeterNjeim commented 1 year ago

@MeGreen please try version v2.0.48: https://github.com/LibreScore/app-librescore/releases/download/v2.0.48/LibreScore.AppImage

pinpox commented 1 year ago

It runs for me, but I can't find anything. This is all I get: image

Tried searching for Rush E or https://musescore.com/user/30667655/scores/6862109 and both didn't return anything. Is it broken or am I doing something wrong?

PeterNjeim commented 1 year ago

@pinpox The screenshot you shared is of the downloads tab, so maybe that was a mistake, but I'm sure you meant that no results appear in the home tab. I've seen other people face this issue before, it's therefore not Linux-related and so I won't be helping you in this issue unfortunately. Try the Discord server (found at the top of the README) for support questions

pinpox commented 1 year ago

Thanks for the clarification. I'll try the Discord, this seems like a (separate) bug though, worth investigating if others are having this as well.

MeGreen commented 1 year ago

Hi, sry i had a friend over for a few days, and then rehearsal weekend with my orchestra, so i hadn't the time.

Unfortunately version 2.0.48 didn't work for me neither.

with .48 this is the requested outputs:

cd squashfs-root

./setup --help
  -h, --help
  -i, --install
  -u, -r, --uninstall, --remove

./setup --install
Error
cp: cannot stat '': No such file or directory
Error

./librescore
./librescore: /mnt/EE7ED4C57ED4882B/Downloads/squashfs-root/lib/libc.so.6: version `GLIBC_2.36' not found (required by /usr/lib/libstdc++.so.6)

I've also tried executing everything from my home directory instead of my externally mounted Downloads, but no change there. The same error messages with different paths.

glibc is installed as confirmed by pacman with version 2.36-6

As an inspirations by @Xmader , this is my output of ldd librescore

ldd librescore
./librescore: MYHDD/Downloads/squashfs-root/./lib/libc.so.6: version `GLIBC_2.36' not found (required by /usr/lib/libstdc++.so.6)
    linux-vdso.so.1 (0x00007ffe7caae000)
    libbitsdojo_window_linux_plugin.so => MYHDD/Downloads/squashfs-root/./lib/libbitsdojo_window_linux_plugin.so (0x00007ffbf59e0000)
    libflutter_webrtc_plugin.so => MYHDD/Downloads/squashfs-root/./lib/libflutter_webrtc_plugin.so (0x00007ffbf5936000)
    liburl_launcher_linux_plugin.so => MYHDD/Downloads/squashfs-root/./lib/liburl_launcher_linux_plugin.so (0x00007ffbf5930000)
    libwindow_size_plugin.so => MYHDD/Downloads/squashfs-root/./lib/libwindow_size_plugin.so (0x00007ffbf5929000)
    libflutter_linux_gtk.so => MYHDD/Downloads/squashfs-root/./lib/libflutter_linux_gtk.so (0x00007ffbf4a00000)
    libgtk-3.so.0 => MYHDD/Downloads/squashfs-root/./lib/libgtk-3.so.0 (0x00007ffbf4000000)
    libgdk-3.so.0 => MYHDD/Downloads/squashfs-root/./lib/libgdk-3.so.0 (0x00007ffbf5814000)
    libpangocairo-1.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libpangocairo-1.0.so.0 (0x00007ffbf49ec000)
    libpango-1.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libpango-1.0.so.0 (0x00007ffbf497e000)
    libharfbuzz.so.0 => MYHDD/Downloads/squashfs-root/./lib/libharfbuzz.so.0 (0x00007ffbf48ab000)
    libatk-1.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libatk-1.0.so.0 (0x00007ffbf487d000)
    libcairo-gobject.so.2 => MYHDD/Downloads/squashfs-root/./lib/libcairo-gobject.so.2 (0x00007ffbf5805000)
    libcairo.so.2 => MYHDD/Downloads/squashfs-root/./lib/libcairo.so.2 (0x00007ffbf3ed2000)
    libgdk_pixbuf-2.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libgdk_pixbuf-2.0.so.0 (0x00007ffbf3e9f000)
    libgio-2.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libgio-2.0.so.0 (0x00007ffbf3cb0000)
    libgobject-2.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libgobject-2.0.so.0 (0x00007ffbf3c4a000)
    libglib-2.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libglib-2.0.so.0 (0x00007ffbf3b02000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007ffbf3800000)
    libm.so.6 => MYHDD/Downloads/squashfs-root/./lib/libm.so.6 (0x00007ffbf3713000)
    libgcc_s.so.1 => MYHDD/Downloads/squashfs-root/./lib/libgcc_s.so.1 (0x00007ffbf3ab2000)
    libc.so.6 => MYHDD/Downloads/squashfs-root/./lib/libc.so.6 (0x00007ffbf3400000)
    libwebrtc.so => MYHDD/Downloads/squashfs-root/./lib/libwebrtc.so (0x00007ffbf2000000)
    libdl.so.2 => MYHDD/Downloads/squashfs-root/./lib/libdl.so.2 (0x00007ffbf4875000)
    libepoxy.so.0 => MYHDD/Downloads/squashfs-root/./lib/libepoxy.so.0 (0x00007ffbf1eac000)
    libpthread.so.0 => MYHDD/Downloads/squashfs-root/./lib/libpthread.so.0 (0x00007ffbf486f000)
    ./lib/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ffbf59f3000)
    libgmodule-2.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libgmodule-2.0.so.0 (0x00007ffbf4865000)
    libX11.so.6 => MYHDD/Downloads/squashfs-root/./lib/libX11.so.6 (0x00007ffbf1d63000)
    libXi.so.6 => MYHDD/Downloads/squashfs-root/./lib/libXi.so.6 (0x00007ffbf3a9d000)
    libXfixes.so.3 => MYHDD/Downloads/squashfs-root/./lib/libXfixes.so.3 (0x00007ffbf3a94000)
    libatk-bridge-2.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libatk-bridge-2.0.so.0 (0x00007ffbf3a58000)
    libfribidi.so.0 => MYHDD/Downloads/squashfs-root/./lib/libfribidi.so.0 (0x00007ffbf3a3b000)
    libpangoft2-1.0.so.0 => MYHDD/Downloads/squashfs-root/./lib/libpangoft2-1.0.so.0 (0x00007ffbf36f5000)
    libfontconfig.so.1 => MYHDD/Downloads/squashfs-root/./lib/libfontconfig.so.1 (0x00007ffbf36a8000)
    libXinerama.so.1 => MYHDD/Downloads/squashfs-root/./lib/libXinerama.so.1 (0x00007ffbf36a2000)
    libXrandr.so.2 => MYHDD/Downloads/squashfs-root/./lib/libXrandr.so.2 (0x00007ffbf3694000)
    libXcursor.so.1 => MYHDD/Downloads/squashfs-root/./lib/libXcursor.so.1 (0x00007ffbf3687000)
    libXcomposite.so.1 => MYHDD/Downloads/squashfs-root/./lib/libXcomposite.so.1 (0x00007ffbf3681000)
    libXdamage.so.1 => MYHDD/Downloads/squashfs-root/./lib/libXdamage.so.1 (0x00007ffbf367b000)
    libxkbcommon.so.0 => MYHDD/Downloads/squashfs-root/./lib/libxkbcommon.so.0 (0x00007ffbf33b7000)
    libwayland-cursor.so.0 => MYHDD/Downloads/squashfs-root/./lib/libwayland-cursor.so.0 (0x00007ffbf3670000)
    libwayland-egl.so.1 => MYHDD/Downloads/squashfs-root/./lib/libwayland-egl.so.1 (0x00007ffbf366a000)
    libwayland-client.so.0 => MYHDD/Downloads/squashfs-root/./lib/libwayland-client.so.0 (0x00007ffbf3658000)
    libXext.so.6 => MYHDD/Downloads/squashfs-root/./lib/libXext.so.6 (0x00007ffbf3641000)
    libthai.so.0 => MYHDD/Downloads/squashfs-root/./lib/libthai.so.0 (0x00007ffbf3635000)
    libfreetype.so.6 => MYHDD/Downloads/squashfs-root/./lib/libfreetype.so.6 (0x00007ffbf1c99000)
    libgraphite2.so.3 => MYHDD/Downloads/squashfs-root/./lib/libgraphite2.so.3 (0x00007ffbf338f000)
    libpixman-1.so.0 => MYHDD/Downloads/squashfs-root/./lib/libpixman-1.so.0 (0x00007ffbf1bec000)
    libpng16.so.16 => MYHDD/Downloads/squashfs-root/./lib/libpng16.so.16 (0x00007ffbf3351000)
    libxcb-shm.so.0 => MYHDD/Downloads/squashfs-root/./lib/libxcb-shm.so.0 (0x00007ffbf334b000)
    libxcb.so.1 => MYHDD/Downloads/squashfs-root/./lib/libxcb.so.1 (0x00007ffbf331b000)
    libxcb-render.so.0 => MYHDD/Downloads/squashfs-root/./lib/libxcb-render.so.0 (0x00007ffbf3309000)
    libXrender.so.1 => MYHDD/Downloads/squashfs-root/./lib/libXrender.so.1 (0x00007ffbf1bde000)
    libz.so.1 => MYHDD/Downloads/squashfs-root/./lib/libz.so.1 (0x00007ffbf1bc1000)
    libjpeg.so.8 => MYHDD/Downloads/squashfs-root/./lib/libjpeg.so.8 (0x00007ffbf1b3e000)
    libmount.so.1 => MYHDD/Downloads/squashfs-root/./lib/libmount.so.1 (0x00007ffbf1af7000)
    libselinux.so.1 => MYHDD/Downloads/squashfs-root/./lib/libselinux.so.1 (0x00007ffbf1ac8000)
    libffi.so.8 => MYHDD/Downloads/squashfs-root/./lib/libffi.so.8 (0x00007ffbf1aba000)
    libpcre.so.3 => MYHDD/Downloads/squashfs-root/./lib/libpcre.so.3 (0x00007ffbf1a43000)
    libgbm.so.1 => MYHDD/Downloads/squashfs-root/./lib/libgbm.so.1 (0x00007ffbf1a31000)
    libdbus-1.so.3 => MYHDD/Downloads/squashfs-root/./lib/libdbus-1.so.3 (0x00007ffbf19dd000)
    libatspi.so.0 => MYHDD/Downloads/squashfs-root/./lib/libatspi.so.0 (0x00007ffbf199d000)
    libexpat.so.1 => MYHDD/Downloads/squashfs-root/./lib/libexpat.so.1 (0x00007ffbf1969000)
    libuuid.so.1 => MYHDD/Downloads/squashfs-root/./lib/libuuid.so.1 (0x00007ffbf195f000)
    libdatrie.so.1 => MYHDD/Downloads/squashfs-root/./lib/libdatrie.so.1 (0x00007ffbf1955000)
    libbrotlidec.so.1 => MYHDD/Downloads/squashfs-root/./lib/libbrotlidec.so.1 (0x00007ffbf1946000)
    libXau.so.6 => MYHDD/Downloads/squashfs-root/./lib/libXau.so.6 (0x00007ffbf193d000)
    libXdmcp.so.6 => MYHDD/Downloads/squashfs-root/./lib/libXdmcp.so.6 (0x00007ffbf1934000)
    libblkid.so.1 => MYHDD/Downloads/squashfs-root/./lib/libblkid.so.1 (0x00007ffbf18fb000)
    libpcre2-8.so.0 => MYHDD/Downloads/squashfs-root/./lib/libpcre2-8.so.0 (0x00007ffbf1863000)
    libdrm.so.2 => MYHDD/Downloads/squashfs-root/./lib/libdrm.so.2 (0x00007ffbf184b000)
    libwayland-server.so.0 => MYHDD/Downloads/squashfs-root/./lib/libwayland-server.so.0 (0x00007ffbf1831000)
    libsystemd.so.0 => MYHDD/Downloads/squashfs-root/./lib/libsystemd.so.0 (0x00007ffbf1764000)
    libbrotlicommon.so.1 => MYHDD/Downloads/squashfs-root/./lib/libbrotlicommon.so.1 (0x00007ffbf1740000)
    libbsd.so.0 => MYHDD/Downloads/squashfs-root/./lib/libbsd.so.0 (0x00007ffbf1726000)
    liblzma.so.5 => MYHDD/Downloads/squashfs-root/./lib/liblzma.so.5 (0x00007ffbf16f9000)
    libzstd.so.1 => MYHDD/Downloads/squashfs-root/./lib/libzstd.so.1 (0x00007ffbf1623000)
    liblz4.so.1 => MYHDD/Downloads/squashfs-root/./lib/liblz4.so.1 (0x00007ffbf1602000)
    libcap.so.2 => MYHDD/Downloads/squashfs-root/./lib/libcap.so.2 (0x00007ffbf15f6000)
    libgcrypt.so.20 => MYHDD/Downloads/squashfs-root/./lib/libgcrypt.so.20 (0x00007ffbf14b6000)
    libmd.so.0 => MYHDD/Downloads/squashfs-root/./lib/libmd.so.0 (0x00007ffbf14a8000)
    libgpg-error.so.0 => MYHDD/Downloads/squashfs-root/./lib/libgpg-error.so.0 (0x00007ffbf147e000)

For their other suggestion, i don't have enough experience with github and building appimages to quickly try them out.

PeterNjeim commented 1 year ago

@MeGreen I actually deleted the message with the requested commands lol, didn't expect you to still try them. In this case I actually wanted you to just run the AppImage normally, though I can assume that it'll result in the glibc error that you shared

MeGreen commented 1 year ago

Understandable^^. But normal installation just gives a segfault with the same erorr again, i'm sorry.

PeterNjeim commented 1 year ago

Is that for --install? How about running the AppImage without any flags, just ./LibreScore.AppImage

MeGreen commented 1 year ago

Yes, that's for --install. Just running gives

./librescore: /tmp/.mount_LibreStUEW8h/lib/libc.so.6: version `GLIBC_2.36' not found (required by /usr/lib/libstdc++.so.6)
PeterNjeim commented 1 year ago

@MeGreen @Xmader @gorgobacka @99thGamer9 @Barmarel Please try version v2.0.49: https://github.com/LibreScore/app-librescore/releases/download/v2.0.49/LibreScore.AppImage

Just run ./LibreScore.AppImage to run, or ./LibreScore.AppImage --install to install, followed by librescore. (Run ./LibreScore.AppImage --uninstall if you want to uninstall)

Xmader commented 1 year ago

It gives

/tmp/.mount_LibreSYf09Fi/AppRun: line 7:  7759 Segmentation fault      ldconfig -p
      7760                       | grep libstdc++
      7761                       | awk '{ system("echo " $4) }'
      7762                       | head -n 1
      7763                       | xargs -I {} strings {}
      7764                       | grep GLIBC_"[[:digit:]]"
      7765                       | sort -V
      7766                       | tail -n 1
      7767                       | cut -c 7-
/tmp/.mount_LibreSYf09Fi/AppRun: line 7:  7757 Exit 139                { ldconfig -p | grep libstdc++ | awk '{ system("echo " $4) }' | head -n 1 | xargs -I {} strings {} | grep GLIBC_"[[:digit:]]" | sort -V | tail -n 1 | cut -c 7- && ldd "${APPDIR}/librescore" | grep libstdc++ | awk '{ system("echo " $3) }' | head -n 1 | xargs -I {} strings {} | grep GLIBC_"[[:digit:]]" | sort -V | tail -n 1 | cut -c 7-; }
      7758 Segmentation fault      | sort -C -V
/tmp/.mount_LibreSYf09Fi/AppRun: line 12: /tmp/.mount_LibreSYf09Fi/librescore: No such file or directory
Xmader commented 1 year ago

It seems that ldd "${APPDIR}/librescore" gives out Segmentation fault because of using bundled libraries by
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}${APPDIR}/lib"

MeGreen commented 1 year ago

Yeah unfortunately it's still the same X| I'm really so sorry!

MeGreen commented 1 year ago

Is there any way to check if it's just the appimage bundling, and not the program itself, so it may be packaged as a snap/flatpak as an alternativ? I'm not into development, i just know that these are two more very popular packaging formats for distro-agnostic packages.

Xmader commented 1 year ago

I think I've solved the MESA-LOADER error.

By add the LIBGL_DEBUG=verbose environment variable (export LIBGL_DEBUG=verbose), it gives out a more verbose reason of why libGL has failed to load driver

libGL: MESA-LOADER: failed to open /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: <some_path>/squashfs-root/lib/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /lib/x86_64-linux-gnu/librt.so.1)
libGL: MESA-LOADER: failed to open \$${ORIGIN}/dri/swrast_dri.so: \$${ORIGIN}/dri/swrast_dri.so: cannot open shared object file: No such file or directory
libGL: MESA-LOADER: failed to open /usr/lib/dri/swrast_dri.so: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
libGL error: failed to load driver: swrast

** (librescore:7975): WARNING **: 14:25:55.611: Failed to start Flutter renderer: Unable to create a GL context

#
# Fatal error in: ../../media/engine/adm_helpers.cc, line 39
# last system error: 0
# Check failed: 0 == adm->Init() (0 vs. -1)
# Failed to initialize the ADM.Aborted

It turns out the program is still using the system librt.so.1.

Then I copied glibc2.35's lib/x86_64-linux-gnu/librt.so.1 into squashfs-root/lib/, everything runs perfectly.

MeGreen commented 1 year ago
cd squashfs-root

ldconfig -p | grep libstdc++ | awk '{ system("echo " $4) }' | head -n 1 | xargs -I {} strings {} | grep GLIBC_"[[:digit:]]" | sort -V | tail -n 1 | cut -c 7-
cpy_chk@GLIBC_2.4

APPDIR=$PWD ldd "${APPDIR}/librescore" | grep libstdc++ | awk '{ system("echo " $3) }' | head -n 1 | xargs -I {} strings {} | grep GLIBC_"[[:digit:]]" | sort -V | tail -n 1 | cut -c 7-
ldd: /librescore: No such file or directory     # additional output of zsh regarding command execution = 1|1|0|0|0|1|0|0|0 ✔ 

APPDIR=$PWD cd "${APPDIR}/lib" && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${APPDIR}/lib" "${APPDIR}/librescore" "$@"
zsh: no such file or directory: /librescore

APPDIR=$PWD cd $(dirname $(ldd "${APPDIR}/librescore" | grep ld-linux | awk '{ system("echo " $3) }' | head -n 1)) && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${APPDIR}/lib" LD_PRELOAD="$(ldconfig -p | grep libstdc++ | awk '{ system("echo " $4) }' | head -n 1):$(ldconfig -p | grep libm\\. | awk '{ system("echo " $8) }' | head -n 1):$(ldconfig -p | grep libc\\. | awk '{ system("echo " $8) }' | head -n 1)" "${APPDIR}/librescore" "$@"
ldd: /librescore: No such file or directory
dirname: missing operand
Try 'dirname --help' for more information.
zsh: no such file or directory: /librescore

hope it helps

PeterNjeim commented 1 year ago

@MeGreen don't waste your time with what I sent you earlier, I'm going to release v2.0.52 shortly and you can test that one

MeGreen commented 1 year ago

hahahaha too late :D

PeterNjeim commented 1 year ago

holy moly you posted it in the same second

PeterNjeim commented 1 year ago

And by shortly I mean 12 minutes

PeterNjeim commented 1 year ago

@MeGreen @gorgobacka @99thGamer9 @Barmarel Please try version v2.0.52: https://github.com/LibreScore/app-librescore/releases/download/v2.0.52/LibreScore.AppImage

MeGreen commented 1 year ago

Sadly no change. I've also followed your previous instructions, the output is exactly the same. I've also made sure, that i've tried the right version. Seems to me, that it has a bit of a problem to assign the right folders to the variables?

To be fair, i also don't see a folder named librescore in the squashfs?

PeterNjeim commented 1 year ago

There isn't a folder named librescore, something's wrong with your linux installation. echo $PWD should show your current directory, but in this case it's empty

MeGreen commented 1 year ago

Okay, i'm using zsh, i will try again with bash. Maybe that it's. In the meantime, i've also tried it on my laptop, same distro+DE, but same there.

PeterNjeim commented 1 year ago

I use zsh, that's not the problem

PeterNjeim commented 1 year ago

You said the same thing's happening but so much has happened that I don't really know what exactly is happening. Please share the output of ./LibreScore.AppImage

Xmader commented 1 year ago

Instead of prepending APPDIR=$PWD, I think you should run APPDIR=$PWD in a separate command

MeGreen commented 1 year ago

oh shit it's doing something

./LibreScore.AppImage

(librescore:27420): Gtk-WARNING **: 22:12:55.865: Error loading icon from file '/tmp/.mount_LibreSia7cxS/data/flutter_assets/assets/librescore-square.svg':
    Couldn’t recognise the image file format for file “/tmp/.mount_LibreSia7cxS/data/flutter_assets/assets/librescore-square.svg”
libEGL warning: MESA-LOADER: failed to open radeonsi: /tmp/.mount_LibreSia7cxS/lib/libc.so.6: version `GLIBC_2.36' not found (required by /usr/lib/libLLVM-14.so) (search paths /usr/lib/dri, suffix _dri)

libEGL warning: MESA-LOADER: failed to open swrast: /tmp/.mount_LibreSia7cxS/lib/libc.so.6: version `GLIBC_2.36' not found (required by /usr/lib/libLLVM-14.so) (search paths /usr/lib/dri, suffix _dri)

** (librescore:27420): WARNING **: 22:12:56.002: Failed to start Flutter renderer: No GL implementation is available

Screenshot from 2023-01-20 22-13-19

PeterNjeim commented 1 year ago

Let me be clear here, those commands I gave you earlier, I already said you don't need to do them anymore, they aren't necessary anymore. I don't use $PWD in the new version nor in the older versions, that was just for you to test those specific commands