Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains several AppImage fixes, including a segmentation fault reported in #17.
GitHub release and action run are available (1 test failed because of outstanding #31).
Segmentation fault
The AppImages based on Debian Trixie and Ubuntu Noble currently cause a segmentation fault. Both distros use glibc 2.39. When building an AppImage for Trixie, the following message is shown:
This message arises from LIEF, a library used to patch binary files. Debugging uncovered that the messages occur when
libc.so.6
is patched. Apparently, libc contains something that LIEF is not able to handle. In 07/2024, lief-project/LIEF#1081 was merged, adding support new dynamic tags for x86_64. When lief is updated to a version containing these changes (currently available: pre-release0.16.0.dev0
), the messages are gone and no segfault occurs.This LIEF update should be made upstream in AppImageBuilder. Until that is done, we perform it as first step when the existing AppImageBuilder Docker image is run. Since the provided GitHub action does not support such pre-processing, a customized action is used (calling the original Docker image). When the upstream Docker image and GitHub action are updated, this customization is obsolete.
The special segfault handling in the AppImage tests have been removed.
Error loading
libusb-1.0
In Debian-based distros without
libusb-dev
, python-libusb1 fails to loadlibusb-1.0
. The problem was reported upstream in vpelletier/python-libusb1#78. #31 covers the same problem forlibudev
. Until the problem is fixed upstream, a symlink is created fromlibusb-1.0.so
tolibusb-1.0.so.1
as workaround.Dependencies
While debugging the problems above, it turned out that some of the currently excluded libraries are actually used (
acl
,attr
,mount
,cloudproviders
). Although currently no errors are known caused by these missing libraries, it's never a good idea to mix libraries between host and AppImage. Therefore, these libs are now removed from the excludes.libpixbufloader
for SVGIn Debian Trixie, the package
librsvg2-common
no longer provideslibpixbufloader-svg.so
butlibpixbufloader_svg.so
(dash vs. underscore). Reported upstream as #1082676. A symlink is added as workaround.