Same SW on different Linux Distributions - what should be impacted?
Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Same SW on different Linux Distributions - what should be impacted?
I have a software I want to publish for different distributions of linux.
Can someone reference me to relevant posts or articles of what would be impacted between the different distributions.
I do not want to perform full testing on each distribution.
I know power and performance may be impacted as well as basic sanity (dependencies exist etc.).
I have a software I want to publish for different distributions of linux.
Can someone reference me to relevant posts or articles of what would be impacted between the different distributions.
I do not want to perform full testing on each distribution.
I know power and performance may be impacted as well as basic sanity (dependencies exist etc.).
Well I've just tried AppImages with their demo program. I discovered the program would only run if launched as root, since it depends on FUSE and I didn't have permission to use that. I tried making myself a member of the FUSE group, but that didn't help. Since running things as root is not a good idea, it seems AppImages has some way to go.
Traditionally, you release software as source code with a list of required dependencies, but that obviously puts off the non-technical. Creating a .deb package will work on about half the distros, but that still leaves out major players like SUSE and Fedora.
Last edited by DavidMcCann; 06-05-2016 at 11:26 AM.
Reason: new information
Well I've just tried AppImages with their demo program. I discovered the program would only run if launched as root, since it depends on FUSE and I didn't have permission to use that. I tried making myself a member of the FUSE group, but that didn't help. Since running things as root is not a good idea, it seems AppImages has some way to go.
Traditionally, you release software as source code with a list of required dependencies, but that obviously puts off the non-technical. Creating a .deb package will work on about half the distros, but that still leaves out major players like SUSE and Fedora.
Hi DavidMcCann
I am running Fedora 21. I just downloaded Firefox 46.0 as a regular user and using Nautilus changed the permissions to 'execute'. I then copied it to my Desktop and clicked on it and it ran, no problem. I have alsoused it Fedora 17 on another box and it worked the same. Maybe you downloaded it as 'root' and that is why it only runs as 'root'.
I am replying within the Firefox 46.0 AppImage version.
Firstly, I agree strongly with robertdaleweir. AppImages are EXACTLY the solution you are looking for, and now that Krita uses them I hope that more projects will. They abstract distro-specific quirks by running in a self-launching ISO, they require no install, they do not require root to run or install (since they don't need to be installed), and they mean you can build your package once or twice (32, 64 bit versions) and run basically on any Linux.
I use AppImages to release a stop motion animation software for schools, and it runs perfectly, regardless of distro.
Strongly recommended!
Secondly: technically speaking, differences in distros bouls down to the library versions they ship with and, sometimes, file structure. The latter is *usually* not a big deal, because as long as the PATH env is set correctly, your app should be able to find what it needs no matter where it happens to be installed.
The former, however, can get tricky. If you compile your application against glibc 2.12 and someone is using 2.17, then maybe there will be incompatibilities (maybe not; I have not actually tested that, I'm just imagining a scenario). If your application is linked against libfoo.so.4 but someone is using libfoo.so.5, then your application will throw an error; the fix will be that the user updates libfoo, or else the user symlinks libfoo.so.5 to libfoo.so.4 to trick your application into running. Usually works, but obviously it could cause problems.
The safer thing to do is to target a sensibly recent glibc (not too recent, but "popular"; take a look at Red Hat, Ubuntu, Slackware, and Debian, to see what everyone is shipping with currently) and just bundle in all the extra libs that you link against. Create an AppImage. Done.
If you really don't want to use AppImage, I would still bundle the libs. Use -rpath to compile against them in their "bundled" directory, and you're still basically running distro-independent.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.