box64 icon indicating copy to clipboard operation
box64 copied to clipboard

Error loading needed lib libxshmfence.so.1

Open hack-wizard opened this issue 2 years ago • 2 comments

So I just compiled and installed Box64 on my 64-bit Raspberry Pi OS [bullseye] install

I try to install Joplin - a cloud note-taking app that is critical for my usage case, from the AppImage and I get this:

pi@raspberrypi:~ $ box64 Joplin-2.7.15.AppImage 
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.7 f779d4f built on Apr  9 2022 10:22:32
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 49 Env var
Looking for Joplin-2.7.15.AppImage
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libz.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
Error loading needed lib libfuse.so.2
Warning: Cannot dlopen("libfuse.so.2"/0x421ac2, 1)
dlopen(): error loading libfuse.so.2

AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information

Ok, no biggie, I extract the appimage as suggested, and get this when trying to run ./AppRun:

pi@raspberrypi:~/squashfs-root $ ./AppRun 
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.7 f779d4f built on Apr  9 2022 10:22:32
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 50 Env var
Looking for /home/pi/squashfs-root/@joplinapp-desktop
Using emulated libffmpeg.so
Using native(wrapped) libdl.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libgmodule-2.0.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libgobject-2.0.so.0
Error loading needed lib libxshmfence.so.1
Error loading one of needed lib
Error: loading needed libs in elf /home/pi/squashfs-root/@joplinapp-desktop

To confirm, libxshfence.so and it's dev files are installed on this system. Is there a way to force Box64 to use it? Do I need to recompile with some esoteric option? As I said, this app is critical to my usage case and sadly the dev refuses to support it on ARM so any help at all would be extremely welcome.

hack-wizard avatar Apr 09 '22 17:04 hack-wizard

AppImage are not supported for now on box64 (libfuse is not wrapped, and it's tricky to do).

As for libshmfence, it's not wrapped yet on, I'll check if it's easy or not to do. In the mean time, just grab an x86_64 version of it and put the file it the binary folder.

ptitSeb avatar Apr 09 '22 17:04 ptitSeb

That's the only way this is provided other than in source, I extracted but is there another way to manually move it from the squashfs folder to where it needs to go?

hack-wizard avatar Apr 09 '22 18:04 hack-wizard