Ubuntu 22.04 AppImage - #13
Open
jpmartins98 wants to merge 2 commits into
Open
Conversation
Owner
|
Apologies for the delays in reviewing these PRs, I have been busy with exams, but next week I will have time. |
Owner
|
I will probably supersede this with an AppImage that includes glibc or musl instead so that it is truly platform independent fwiw. Leaving this open for now. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Add a separately named x86_64 AppImage built and tested against Ubuntu 22.04 and GLIBC 2.35.
Problem
The regular AppImage is built on a newer Ubuntu runner. Native components bundled by PyInstaller can therefore require a GLIBC version unavailable on Ubuntu 22.04 and other still-supported older distributions. In that situation the AppImage fails before the GUI starts.
I encountered this problem personally on Ubuntu 22.04, but it is not device-specific and can affect any user whose distribution provides GLIBC 2.35 rather than the newer build baseline.
Changes
Linux AppImage (x86_64 legacy)job usingubuntu-22.04.uv.lock.check_glibc.pyto inspect every ELF file in the PyInstaller bundle usingreadelf --version-info.readelffails, or any component requires a version newer than GLIBC 2.35.-legacy.AppImagefilenames.--appimage-extract-and-run --smoke-testbefore upload.700for personal downloads and explain why browser downloads normally arrive as644or664.Why this PR is needed
The legacy artifact restores compatibility without lowering the build environment or dependency versions used by regular packages. Users of newer systems keep the normal AppImage, while older distributions receive an explicitly named and continuously tested artifact.
Relationship with the Node 24 workflow PR
This PR is compatible with, but does not technically depend on, the Node 24 workflow PR. Its new job independently declares the same Node 24-compatible action versions and uses the same committed
pyproject.tomlanduv.lock.Merging the Node 24 workflow PR first is recommended because it updates the pre-existing jobs and replaces the deprecated release downloader. Without that PR, the legacy job still builds correctly, but unrelated existing jobs continue producing Node 20 warnings.
The PR is #12
Limitations
A legacy ARM64 AppImage is not included because the current ARM64 Qt dependency requires GLIBC 2.39. Claiming Ubuntu 22.04 compatibility for that artifact would therefore be incorrect.
Validation
AI disclosure
This PR and all changes introduced by it, including implementation, tests, workflow code, documentation, investigation, and this description, were generated by OpenAI Codex under the user's direction. The resulting changes were reviewed through source inspection and real build and release validation