I intended to create universal installer for distributing my qt5-based application on different Linux distributions. Currently I support building installation .deb packages than can be used on Ubuntu systems. But they can not be installed on plenty of Linux systems (e. g. RPM-based systems).

But recently snap packages support for all major Linuxes has been announced. I've tried some snapcraft examples and everything was good. But when I try to make snap packge for own qt-based application, snapcraft wizard can`t find all dependencies for it. Can someone explain me how does snapcraft investigate and gather all required dependencies for provided files?

What is the best way to include distribution-specific files (e. g. libraries like libicudata.so.55) to run my application as a portable software on different Linux distributions?


Add all the packages whose contents you want shipped as part of your snap in stage-packages:. This will only work for packages shipped in Ubuntu (for now).

Take a look at https://github.com/ubuntu/snappy-playpen/tree/master/gitter-im for an app, which extracts and ships general binaries in the snap.

  • That's nice. But what if I have some dependencies that aren't included into target Linux distribution? – Vasyl Aug 30 '16 at 11:34
  • No problem. It'll use what your apt sources give you. – dholbach Aug 30 '16 at 15:21
  • I don't understand what you mean. – Vasyl Aug 30 '16 at 16:19
  • If you have configured apt locally, so that it downloads the package you need, snapcraft will make use of it. – dholbach Aug 30 '16 at 19:33
  • 1
    How can I configure apt, so that it downloads the package intended for another Linux distribution? – Vasyl Aug 31 '16 at 12:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.