-
Notifications
You must be signed in to change notification settings - Fork 2
Payload application must run no matter what #5
Comments
Not really. It's still for example relying on bash being available, and if it wasn't, it won't run either. This could only be solved reliably by adding code to the runtime. If |
Couldn't we do the same using a "secondary runtime" executable? |
A binary that checks whether a binary runs? Now it's getting a bit odd. I'd rather write a test script, checking whether the dependencies are nothing but what's listed in the exclude list (top level of course, you can't control what's being pulled in by system libs, but you can rely on those dependencies to be there). Maybe we should further define a "test system" which has no dependencies installed (Docker container preferably), and run it there once to see whether it works. |
The goal is to make this binary robust, not to add more and more binaries and scripts. Those "workarounds" are not an option to me, to be honest. (And I'd also like to avoid shipping this as an AppImage, too.) |
So, libraries which the app depends on, which are not in the exclude list:
FLTK pulls in libcairo, but won't use it, so I will look into getting rid of it. However, libXft is required for configuring the font using libDE, and we probably don't want to remove that. To solve the latter issue, we have two options: Either bundle it and make the desktop integration an AppImage, or inspect the library and consider adding it to the exclude list. @probonopd, did you ever meet libXft, and can tell us something about it? It's not in the exclude list at the moment, so I'll be looking into the Git history. |
I have never investigated it so far. |
I'll try to use the testappimage script to check whether the library is available in all relevant distros. |
As a side note, libXft is also required to make the fonts in FLTK look nice, otherwise they look really ugly. |
@darealshinji thanks, that's what I wanted to point to, too. |
How commonly availlable is libXft "everywhere", and in which versions? |
A typical common and stable X library I guess: It's libXft.so.2 everywhere. |
Yeah, it looks like it's available in most systems anyway. I wouldn't worry too much about it. |
OK |
At the moment I'm trying to convince FLTK to not link to libcairo. |
Shouldn't there be an option to disable cairo in cmake? |
Yes, and I've tried it, and it also seems like it respects it ( I'll push the changes, could you have a look, please? |
Indeed, that's what I get from readelf:
If |
libpng is linked statically, at least for FLTK. However, libXft references it in again, see the lddtree output:
One can't fix that, so I guess it won't have any negative effects. |
No, it's references directly by the dialog binary files from the release section.
I guess you were checking a file that you built on your own PC? |
You're right, I didn't expect a difference in that, though. |
We need to find a solution that would make the payload application run no matter what issues desktop-integration might be running into.
In the bash version of the desktop integration script this is ensured.
cc @darealshinji
The text was updated successfully, but these errors were encountered: