Description
Some AppImages based on Debian Trixie and Ubuntu Noble cause a segmentation fault. Both distros use glibc 2.39. When building an AppImage for Trixie, one of the following messages is shown (build log):
Can't find string offset for section name '.note.cafe1a7e'
Dynamic tag: 0x70000000 is not supported for the current architecture
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-release 0.16.0.dev0), the messages are gone and no segfault occurs.
Workaround for latest Docker image (1.1.0) (example): Before running appimage-builder, update LIEF, install packaging-legacy
and patch package.py
Cause:
- Latest LIEF (0.16.0.dev0) requires an update of
setuptools
(>= 71) - Latest
setuptools
requires an update ofpackaging
(>= 24) - Latest
packaging
requires that versions conform to PEP 440 (seeInvalidVersion
exception when invalid version used on Setuptools 66 pypa/setuptools#3772) - AppImageBuilder 1.1.0 uses
packaging.version
to compare versions of debian packages (e.g.1.21.1ubuntu2.3
).
Originally reported downstream in C0rn3j/sc-controller#32.
Please consider releasing an updated Docker image containing a current version of LIEF.