2016-04-19 0:27 GMT+02:00 Josh Andler <scislac@...400...>:
I agree with Adib, with a little more testing it would be great to be able to offer these builds.
probono: if the system building these is multiarch, they'd be able to build for 32bit as well, correct?
Yes, it is possible to build AppImages for different architectures. For example, the MuseScore project provides i686 (32-bit), x86_64 (64-bit), and armhf (new 32-bit) https://musescore.org/en/download#AppImage
I have a user who would be willing to test a 32bit build as they're stuck on an ancient release of Ubuntu (a first half of the alphabet release).
The current Inkscape AppImage is built on CentOS 7 which means that it has a dependency on glibc 2.17. So I would expect that you need at least a 2013ish distribution to run the Inkscape AppImage on. A "middle of the alphabet" version of Ubuntu would be Maverick Meerkat alias Ubuntu 10.10, released in 2010. So it will not run there (Ubuntu 13.04 is probably the minimum required for the Inkscape AppImage the way it is currently built; although I didn't test).
This is because in order to save space and redundancy, the AppImage doesn't contain each and every library (starting from glibc itself), but only contains these libraries that cannot reasonably be expected to be part of the base system (which is loosely defined as "not too outdated desktop distributions"). For the dependencies that are not bundled inside the AppImage, the version present at runtime must not be older than the version that was present at compile time (in case of the current Inkscape AppImage, CentOS 7).
If we really want to target systems such as Ubuntu 10.10, there are two options:
1. Get Inkscape to build on a really old system such as Ubuntu 10.10 or older. This way it will not depend on any newer libraries than are in Ubuntu 10.10 (besides the ones we bundle inside the AppImage which are allowed to be newer, als long as they, too, have been compiled on Ubuntu 10.10 or older). This is likely cumbersome, because the current build scripts assume newer versions of many dependencies to be present at build time. As mentioned before, I attempted to build on CentOS 6 (which is from the 2011 era) and didn't succeed (possibly it can be done by an experienced Inkscape developer).
2. Bundle each and every dependency inside the AppImage, including stuff like glibc and GTK.This will make the AppImage significantly larger and its contents more redundant.
So as always, there is a tradeoff. Applications like Firefox or OpenOffice are deliberately built on old systems as to maximize binary compatibility with all but the most recent systems.
More on the background of AppImageKit and its workings on https://github.com/probonopd/AppImageKit/blob/master/README.md
Happy testing!