Skip to content

Conversation

cevheri
Copy link
Collaborator

@cevheri cevheri commented Aug 9, 2025

Summary

  • Produce AppImage compatible with Ubuntu 22.04 (glibc 2.35) and Ubuntu 24.04.
  • Prevent bundling core system libs that force newer GLIBC.
  • Add CI guard to fail builds if AppImage embeds libstdc++ requiring GLIBC ≥ 2.36.
  • Document Linux runtime packages (EN/TR/ZH).

Context/Motivation

  • Users on Pop!OS 22.04 were unable to run AppImage due to embedded usr/lib/libstdc++.so.6 requiring GLIBC_2.36/2.38.
  • AppImage cannot safely ship glibc; must rely on host glibc and avoid shipping newer libstdc++.
  • Ensure predictable releases across Ubuntu 22.04/24.04.

Changes

  • linux/packaging/appimage/make_config.yaml
  • Add exclude list to avoid bundling: libc.so.6, libpthread.so.0, libdl.so.2, libm.so.6, libresolv.so.2, librt.so.1, libstdc++.so.6, libgcc_s.so.1.
  • Keep sqlite libs included.
  • linux/packaging/deb/make_config.yaml
    Remove -dev runtime dependency (keep libsqlite3-0 only).
  • .github/workflows/build.yml
  • On ubuntu-22.04 build: install libstdc++-12-dev, patchelf.
  • After packaging, extract AppImage and check for GLIBC_2.36/2.38 symbols in usr/lib/libstdc++.so.6; fail if found.

Docs

  • README.md: Add “Linux Requirements (Ubuntu 22.04 and 24.04)”.
  • README_TR.md: Add “Linux Gereksinimleri (Ubuntu 22.04 ve 24.04)”.
  • README_ZH.md: Add “Linux 运行环境需求(Ubuntu 22.04 与 24.04)”.

Testing

  • Local: Built AppImage on Ubuntu 22.04 environment; verified no embedded libstdc++ with GLIBC_2.36/2.38 symbols.
  • Runtime: Manually tested AppImage on Pop!OS 22.04 and Linux Mint — launches successfully.
  • CI: New symbol gate will fail builds if incompatible libstdc++ is bundled.

Backward Compatibility

  • AppImage now targets host glibc and should run on Ubuntu 22.04 (glibc 2.35) and 24.04.
  • DEB dependency cleanup does not remove required runtime libraries.

Operational Notes

  • If users hit X11/GLX issues on certain drivers, suggest trying Wayland or forcing Mesa/software path as documented.
  • Consider adding an optional CI step to assert presence of AppRun in extracted AppImage if needed.

Checklist

  • AppImage excludes core system libs
  • CI symbol gate for GLIBC 2.36/2.38
  • Docs updated in EN/TR/ZH
  • Local validation on 22.04-based systems
  • Local validation on 24.04-based system

@cevheri cevheri requested a review from daodao97 August 9, 2025 18:58
@cevheri cevheri linked an issue Aug 9, 2025 that may be closed by this pull request
@cevheri
Copy link
Collaborator Author

cevheri commented Aug 9, 2025

Hi @daodao97 when merge this PR can you generate a Tag, After that I will try on ubuntu 22.04 and 24.04

@cevheri cevheri added the bug Something isn't working label Aug 9, 2025
Copy link
Owner

@daodao97 daodao97 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@daodao97 daodao97 merged commit 7d4e25c into daodao97:main Aug 10, 2025
@daodao97
Copy link
Owner

release v0.0.73

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

latest doesn't run on Pop!_OS
2 participants