https://bugs.kde.org/show_bug.cgi?id=522588

--- Comment #2 from Thomas Baumgart <[email protected]> ---
I threw the error message at our company's AI and got the following response
(which seems reasonable to me). I see the root cause most likely in recent
changes to the CI build system area (upgrade to newer distros etc.). Something,
the KMyMoney team has very little influence.

  This is a known issue that started appearing in recent AppImage builds. The
error means the AppImage was compiled targeting a newer
  x86-64 microarchitecture level (likely x86-64-v3) than your CPU supports.

  What's happening

  x86-64 has defined microarchitecture levels:

  - x86-64-v1 — baseline (SSE2), all 64-bit CPUs
  - x86-64-v2 — adds SSE4.2, POPCNT, etc.
  - x86-64-v3 — adds AVX2, BMI1/2, FMA, etc.
  - x86-64-v4 — adds AVX-512

  Starting around glibc 2.33+, the dynamic linker (ld-linux) checks
/usr/lib/glibc-hwcaps/ and can enforce minimum ISA levels. If the
  AppImage bundles a newer glibc or was built on a distro that defaults to
x86-64-v3, it will refuse to run on older CPUs (even if
  they're perfectly functional x86-64-v1 or v2 processors).

  How to check your CPU level

  /lib64/ld-linux-x86-64.so.2 --help 2>&1 | grep "x86-64"

  or:

  grep -o 'avx2\|sse4_2\|bmi2\|fma' /proc/cpuinfo | sort -u

  If you're missing avx2, you're x86-64-v2 or lower.

  Workarounds

  1. Extract and run directly — bypasses the AppRun ISA check:

     ./SomeApp.AppImage --appimage-extract
     cd squashfs-root
     ./AppRun

  This may still fail if the actual binaries inside were compiled with v3
instructions, but often the check is overly conservative
  (it's the bundled loader that's strict, not necessarily the app itself).

  2. Use an older AppImage build — stick with the last version built for
x86-64-v1 (before 5.2-5482 in your case).
  3. Check if the upstream offers a "compatibility" or "generic" build — some
projects now ship separate AppImages for v1/v2 and v3.
  4. Set APPIMAGE_EXTRACT_AND_RUN=1 — some AppImages respect this and skip the
loader check:

     APPIMAGE_EXTRACT_AND_RUN=1 ./SomeApp.AppImage

  5. Report it upstream — many maintainers don't realize their CI switched to a
v3-only base image. Filing an issue requesting
  x86-64-v1 (baseline) compatibility often gets results.

  Root cause in the ecosystem

  This is typically caused by the AppImage being built on a newer distro (e.g.,
Ubuntu 24.04+, Fedora 40+) where the default toolchain
  or bundled glibc emits or enforces x86-64-v3. It's a growing pain in the
Linux desktop ecosystem as distros start targeting newer
  baselines.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to