linuxdeployqt icon indicating copy to clipboard operation
linuxdeployqt copied to clipboard

AppImage don’t track Qt plugins dependency!

Open SzykCech4 opened this issue 4 years ago • 3 comments

I created AppImage with my simple programmer editor. Problem is with it that it does not work outside my development enviroment. I created it on distro Ubuntu 18.04 LTS compatible (Kubutntu 18.04 LTS), and it works on KDE Neon 18.04 LTS. But it does not work on Debian 9. This is Qt based app. It seems that Qt plugins dependency is not tracked. Error I got:

$ ./Textprofan2-x86_64.AppImage
./Textprofan2-x86_64.AppImage: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /tmp/.mount_TextprcZ60nb/usr/bin/../lib/libpng16.so.16) 

Do you have some usefull hints for users confront missing dependencies for Qt plugins?!?

SzykCech4 avatar Aug 19 '19 15:08 SzykCech4

As per https://github.com/AppImage/pkg2appimage/blob/master/excludelist, zlib is one of those libraries that we do not bundle in AppImages because it is assumed to come with every target system (distribution).

The error you are seeing most likely means that the AppImage was build on a Linux distribution newer than the one you are trying to run the AppImage on. Please ask the application author (is that you?) to build the ingredients for the AppImage on an older system (no newer than the oldest still-supported Ubuntu LTS release, which currently is xenial).

probonopd avatar Aug 21 '19 06:08 probonopd

I am the author of this AppImage package! And tell me: What is wrong with AppImage if it require build on the oldest on the earth distro in order to work as expected?!? I work on distro I like and I don't want strugle with virtual machines swamp to make my packages... I assume: build on the oldest LTS system is the only option?!? Right? So: Why can't I customise AppImage excludelist?!? Or dissable it entirelly?!?

SzykCech4 avatar Aug 21 '19 15:08 SzykCech4

On Linux, applications work on the system you have compiled on, and newer systems. But not on older systems. This has nothing to do with AppImage specifically.

The only way to get around this would be to bundle every single library, even those that come with every Linux distribution by default. But that would unnecessarily increase the size of the AppImages and would be considered by some to be "bloat", so we don't recommend it.

probonopd avatar Aug 21 '19 16:08 probonopd