AppRun
AppRun copied to clipboard
Add libstdc++ runtime switching support
This has already been done at: https://github.com/darealshinji/AppImageKit-checkrt/
On the same note, can you also make it so that it checks glibc version per-architecture? So for instance, if your host system's x86_64 glibc is newer than the bundled glibc, but the host doesn't even have an ARM glibc while the bundle does, it will use the host's glibc for x86_64 programs and the bundled glibc for ARM programs. Thanks!
Wouldn't an ARM system have all libs as ARM versions?
This is for the rare case where an x86_64 AppImage that runs on x86_64 systems contains ARM components which need an ARM glibc (using QEMU probably).
TBH, a better example would be x86_64 and i386. The AppImage could have an older x86_64 glibc, but a newer i386 glibc (or the host could theoretically not have an i386 glibc at all).
As far as I'm aware no big distribution is actually like this right now. This change woudl mostly be for future-proofing and weird edge-case scenarios like mine.
I fear it might break edge cases more than it'd help.
Which edge cases would it break?
Right now it chooses whether to use the bundled or system GLibC based on the host system's GLibC version. If it chooses the host system's GLibC but it doesn't have an architecture installed that the bundled version includes, it just fails.
Right now I'm forced to workaround this using libc6-armhf-cross and manual interpreter patching.
Which edge cases would it break?
I was thinking of, e.g., running things in, e.g., Box86 and similar solutions.