Open lotaris-xx opened 3 years ago
Hi! Do you mind giving more information about your OS? Could be really useful to find out what the issue was. Because extracting the AppImage is more a workaround than a real fix to me ^^
Thanks for the reporting though :)
Sure. It's a Fedora 33 box (although F32 was the same for me).
I tracked it down to the following:
[pid 368144] writev(2, [{iov_base="./Shadow", iov_len=8}, {iov_base=": ", iov_len=2}, {iov_base="/tmp/Shadow/resources/app.asar.unpacked/release/native/libcrypto.so.1.1", iov_len=71}, {iov_base=": ", iov_len=2}, {iov_base="version `OPENSSL_1_1_1b' not found (required by /lib64/libk5crypto.so.3)", iov_len=72}, {iov_base="\n", iov_len=1}], 6) = 156
If I remove the libcrypto.so.1.1 out of resources/app.asar.unpacked/release/native/
then I can run ./AppRun in the unpacked AppImage dir and it all works fine.
Root cause:
$ LD_LIBRARY_PATH=/tmp/Shadow/resources/app.asar.unpacked/release/native/ ldd -v /lib64/libk5crypto.so.3.1
/lib64/libk5crypto.so.3.1: /tmp/Shadow/resources/app.asar.unpacked/release/native/libcrypto.so.1.1: version `OPENSSL_1_1_1b' not found (required by /lib64/li
bk5crypto.so.3.1)
linux-vdso.so.1 (0x00007ffec11f3000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007ff3b0e9b000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007ff3b0e94000)
libcrypto.so.1.1 => /tmp/Shadow/resources/app.asar.unpacked/release/native/libcrypto.so.1.1 (0x00007ff3b0bc9000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ff3b0baf000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff3b09e4000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007ff3b09b7000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff3b09ae000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff3b098c000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff3b0ef0000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007ff3b08f6000)
Version information:
/lib64/libk5crypto.so.3.1:
libkrb5support.so.0 (krb5support_0_MIT) => /lib64/libkrb5support.so.0
libc.so.6 (GLIBC_2.14) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.25) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
**libcrypto.so.1.1 (OPENSSL_1_1_1b) => not found**
libcrypto.so.1.1 (OPENSSL_1_1_0) => /tmp/Shadow/resources/app.asar.unpacked/release/native/libcrypto.so.1.1
With the native libcrypto I see:
Version information:
/lib64/libk5crypto.so.3.1:
libkrb5support.so.0 (krb5support_0_MIT) => /lib64/libkrb5support.so.0
libc.so.6 (GLIBC_2.14) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.25) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
libcrypto.so.1.1 (OPENSSL_1_1_1b) => /lib64/libcrypto.so.1.1
libcrypto.so.1.1 (OPENSSL_1_1_0) => /lib64/libcrypto.so.1.1
So including a libk5crypto.so.3 (and libs that might have a similar version issue) that were linked against the older libcrypto/openssl in the release/native/
dir would likely solve this.
Let me know if you need any other info.
Thanks!
I personally am fine with running shadow.preprod
from the unpacked AppImage as every needed lib (outside of the older ffmpeg shipped in the bundle) is provided natively by the fedora folks.
I have confirmed removing the conflicting libcrypto.so.1.1 file on the stable version also corrects the R-1 error on Fedora 33
Maybe the AppImage ships too much library, and it starts to be outdated or is in conflict with the current libraries you have. I guess I'll give this issue to a dev to check why it bugs like that.
I don't like to mess with the libraries ^^
Thank you so much ! I extracted the AppImage, removed the faulty crypto library and add the other one, then repack it all as a AppImage. It works like a charm under Fedora 33 !
When there is an update, it erases all changes so, I have made a script to automatically apply the fix :
#!/bin/bash
# Move modified and original
rm -f ./ShadowBeta.Original.AppImage
mv ShadowBeta.Modified.AppImage ShadowBeta.Original.AppImage
# Extract Image
chmod +x ShadowBeta.Original.AppImage
./ShadowBeta.Original.AppImage --appimage-extract
pushd squashfs-root/resources/app.asar.unpacked/release/native/
rm -f libcrypto.so.1.1
cp -f /usr/lib64/libk5crypto.so.3 .
popd
# Rebuild image
./appimagetool-x86_64.AppImage squashfs-root ShadowBeta.Modified.AppImage
# Clean up
rm -rf squashfs-root
If it can help someone ;)
I have a laptop that has an nvidia card and the builtin intel HD 530. I kept getting this R-1 issue under both pure nvidia and intel.
Solution was:
./ShadowBeta.AppImage --appimage-extract cd squashfs-root ./shadow-preprod
This works for both intel and nvidia.
Maybe could add as a known issue? Happy to troubleshoot further.