AppImageCrafters / appimage-builder

GNU/Linux packaging solution using the AppImage format
MIT License
316 stars 58 forks source link

Debug "cannot open shared object file: no such file or directory" #321

Open carlonluca opened 1 year ago

carlonluca commented 1 year ago

Hello! I'm experimenting with appimage-builder a bit. I built an example app with appimage-builder and I'm testing it on some older systems. My AppImage seems to run on Manjaro and on Fedora 22. I then tested on Ubuntu 13 and I'm getting this error:

/tmp/.mount_Fall-l8kxOCl/usr/bin/Fall: error while loading shared libraries: libQt6Core.so.6: cannot open shared object file: No such file or directory

I therefore tried to investigate why the library is not found, as it seems to be there:

ubuntu@ubuntu:~$ ls -l /tmp/.mount_Fall-*/opt/qt/6.5.2/gcc_64/lib/libQt6Core.so.6
-rwxr-xr-x 1 root root 6863216 Sep 10 09:18 /tmp/.mount_Fall-llMC6zW/opt/qt/6.5.2/gcc_64/lib/libQt6Core.so.6

I tried to use LD_DEBUG=all, and this is what I see for that lib:

      8020:     file=libQt6Core.so.6 [0];  needed by /tmp/.mount_Fall-l8kxOCl/usr/bin/Fall [0]
      8020:     find library=libQt6Core.so.6 [0]; searching
      8020:      search path=/tmp/.mount_Fall-l8kxOCl/lib/x86_64-linux-gnu:/tmp/.mount_Fall-l8kxOCl/opt/qt/6.5.2/gcc_64/lib:/tmp/.mount_Fall-l8kxOCl/usr/lib/x86_64-linux-gnu:/tmp/.mount_Fall-l8kxOCl/lib/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/glibc-hwcaps/x86-64-v2:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/glibc-hwcaps/x86-64-v2:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu:glibc-hwcaps/x86-64-v2:tls/x86_64/x86_64:tls/x86_64:tls/x86_64:tls:x86_64/x86_64:x86_64:x86_64:          (LD_LIBRARY_PATH)
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/lib/x86_64-linux-gnu/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/opt/qt/6.5.2/gcc_64/lib/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/usr/lib/x86_64-linux-gnu/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/lib/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64/libQt6Core.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/libQt6Core.so.6
      8020:       trying file=glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=tls/x86_64/libQt6Core.so.6
      8020:       trying file=tls/x86_64/libQt6Core.so.6
      8020:       trying file=tls/libQt6Core.so.6
      8020:       trying file=x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=x86_64/libQt6Core.so.6
      8020:       trying file=x86_64/libQt6Core.so.6
      8020:       trying file=libQt6Core.so.6
      8020:      search cache=/etc/ld.so.cache
      8020:      search path=/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2:/lib/x86_64-linux-gnu/tls/x86_64/x86_64:/lib/x86_64-linux-gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls:/lib/x86_64-linux-gnu/x86_64/x86_64:/lib/x86_64-linux-gnu/x86_64:/lib/x86_64-linux-gnu/x86_64:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2:/usr/lib/x86_64-linux-gnu/tls/x86_64/x86_64:/usr/lib/x86_64-linux-gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls:/usr/lib/x86_64-linux-gnu/x86_64/x86_64:/usr/lib/x86_64-linux-gnu/x86_64:/usr/lib/x86_64-linux-gnu/x86_64:/usr/lib/x86_64-linux-gnu:/lib/glibc-hwcaps/x86-64-v2:/lib/tls/x86_64/x86_64:/lib/tls/x86_64:/lib/tls/x86_64:/lib/tls:/lib/x86_64/x86_64:/lib/x86_64:/lib/x86_64:/lib:/usr/lib/glibc-hwcaps/x86-64-v2:/usr/lib/tls/x86_64/x86_64:/usr/lib/tls/x86_64:/usr/lib/tls/x86_64:/usr/lib/tls:/usr/lib/x86_64/x86_64:/usr/lib/x86_64:/usr/lib/x86_64:/usr/lib              (system search path)
      8020:       trying file=/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/tls/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64-linux-gnu/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/tls/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64-linux-gnu/libQt6Core.so.6
      8020:       trying file=/lib/glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=/lib/tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/tls/libQt6Core.so.6
      8020:       trying file=/lib/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/x86_64/libQt6Core.so.6
      8020:       trying file=/lib/libQt6Core.so.6
      8020:       trying file=/usr/lib/glibc-hwcaps/x86-64-v2/libQt6Core.so.6
      8020:       trying file=/usr/lib/tls/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/tls/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/tls/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/x86_64/libQt6Core.so.6
      8020:       trying file=/usr/lib/libQt6Core.so.6
      8020:
/tmp/.mount_Fall-l8kxOCl/usr/bin/Fall: error while loading shared libraries: libQt6Core.so.6: cannot open shared object file: No such file or directory

My understanding is that it is simply not found. I do not see errors like missing deps or something else. Moreover, the gui lib is instead found:

      8020:     file=libQt6Gui.so.6 [0];  needed by /tmp/.mount_Fall-l8kxOCl/usr/bin/Fall [0]
      8020:     find library=libQt6Gui.so.6 [0]; searching
      8020:      search path=/tmp/.mount_Fall-l8kxOCl/lib/x86_64-linux-gnu:/tmp/.mount_Fall-l8kxOCl/opt/qt/6.5.2/gcc_64/lib:/tmp/.mount_Fall-l8kxOCl/usr/lib/x86_64-linux-gnu:/tmp/.mount_Fall-l8kxOCl/lib/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/glibc-hwcaps/x86-64-v2:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/tls:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/usr/lib/x86_64-linux-gnu/gconv:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/glibc-hwcaps/x86-64-v2:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/tls:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/tls:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu/x86_64:/tmp/.mount_Fall-l8kxOCl/runtime/compat/lib/x86_64-linux-gnu:glibc-hwcaps/x86-64-v2:tls/x86_64/x86_64:tls/x86_64:tls/x86_64:tls:x86_64/x86_64:x86_64:x86_64:          (LD_LIBRARY_PATH)
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/lib/x86_64-linux-gnu/libQt6Gui.so.6
      8020:       trying file=/tmp/.mount_Fall-l8kxOCl/opt/qt/6.5.2/gcc_64/lib/libQt6Gui.so.6
      8020:
      8020:     file=libQt6Gui.so.6 [0];  generating link map
      8020:       dynamic: 0x00007f7dd0a111d0  base: 0x00007f7dd0067000   size: 0x00000000009c6ef8
      8020:         entry: 0x00007f7dd0183340  phdr: 0x00007f7dd0067040  phnum:                  9

Any idea how to investigate further? Thanks!