I'm trying to do a Linux release for a piece of Qt software, but I'm a clueless Linux newbie. I've built my application with the Qt libraries statically linked, and made .deb and .rpm packages, but when I test them I get warnings about missing libraries on some distributions. For example, my .deb version runs fine on Debian and Ubuntu, but it doesn't start on Linux Mint KDE due to missing libraries. Running ldd I find there are four missing libraries:
libpng16.so.16 => not found
libicui18n.so.57 => not found
libicuuc.so.57 => not found
libicudata.so.57 => not found
Clearly I need to somehow ensure all the necessary library are present, however the list of libraries required seems to vary. For example Linux Mint Cinnamon lists 33 libraries, while Ubuntu Unity lists 34 (libpng12.so.0 is the extra one). I also assume that some of those libraries are standard Linux libraries that would come with all distributions so I wouldn't need to include them.
I don't really know what I'm doing, so a few questions:
What is the best way to determine the list of libraries I need to include with my .deb and .rpm packages? If ldd is the best option, do I need to include all the listed libraries or are there some that are bundled as standard with all Debian/rpm distributions?
What is the best way to to include those libraries? Do you include them in the package or specify them in the dependency list?
Any other general advice would be appreciated because I'm not really sure I'm going about this the right way.
Thanks.