I am a linux user who is trying to help a github author make an linux appimage of his software. I am also an idiot in trying to make sense out of the directions for appimages. The author has made a tgz file that can be unpacked in Ubuntu 16.04 and run without error. I have tried to run it on Ubuntu 18.04 and it runs but gives a bunch of font errors when it does. I have tried it under fedora 30 and it sort of runs but gives even more errors. So what I am trying to do is make an appimage out of the 16.04 working program. It does give 1 error when it runs but the author says that error is something he didn’t include and it should be no problem. Anyway
The program name is ‘planetarysystemstacker’ and it is being developed as free software for amateur astronomers. It is available at https://github.com/Rolf-Hempel/PlanetarySystemStacker and is still under active development now at version 0.50. I have a virtual image of ubuntu 16.04 on my computer (fedora 30) which I am hoping to develop the appimage, bur really have no idea where to start. Any help or tips would be appreciated,
John
Hello John, welcome to AppImage. Please ask the author of PlanetarySystemStacker to provide an AppImage. GitHub - linuxdeploy/linuxdeploy-plugin-conda: Python plugin for linuxdeploy. Sets up miniconda in an AppDir and installs user specified packages. may be a good start to get started. Please ask questions and report issues regarding that software over at Issues · linuxdeploy/linuxdeploy-plugin-conda · GitHub because its author only gives support there.
@probono - John is actually doing this packaging work on behalf of Rolf (the author). Rolf is concentrating on developing the application and John is supporting the project by looking into Linux packing options.
John,
I tried creating an AppImage using the distribution tar file that Rolf makes using ‘PyInstaller’. Unfortunately PyInstaller does not seem to have done a very good job and has bundled at least one library that is on the AppImage exclude list: libfontconfig.so.1. This seems to be the cause of the problems being seen on Fedora.
The exclude list is here: https://github.com/AppImage/pkg2appimage/blob/master/excludelist
I tried just removing the libfontconfig.so.1 file but that just caused other problems.
I suspect that the AppImage would be best generated from the original Python project following probono’s link rather than the files generated by PyInstaller.
Cheers,
Chris
Chris,
Thank you for your response. I have been wading through all the info on
making this, and have been swamped. When I was looking at Rolf’s
installation, I noted no font issues in Ubuntu 16.04, but a ton of them
in 18.04 and in Fedora 30. While I find Ubuntu not to my personal
liking, I have installed 16.04 in virtual box and have been trying to
make something out of it with little success. Thanks for this
information as it gives me a place to focus on in my quest to make this
package portable.
John
Yes, these things can be tricky, and sometimes require a lot of trial and error on the various target systems unfortunately. Many times a solution can be found by trying to bundle (or not bundle) different sets of libraries.
Reading through Using PyInstaller to Easily Distribute Python Applications – Real Python it seems (hardly surprising) that PyInstaller is bound by the same constraints, and hence is running into the same real-world issues, as other methods of bundling Python applications for use on various Linux distributions.
Conceptually PyInstaller seems to be very close to making an AppDir for use in an AppImage.
Particularly, the hint
In fact, you might want to investigate using the PyPA’s manylinux docker image for your Linux build environment. You could start with the base image then install PyInstaller along with all your dependencies and have a build image that supports most variants of Linux.
may be worth trying out.