Skip to content

fix(release): build linux-x86_64 on ubuntu-24.04 (glibc mismatch) - #37

Merged
lukasMega merged 1 commit into
mainfrom
fix/linux-x86_64-glibc
Aug 19, 2026
Merged

fix(release): build linux-x86_64 on ubuntu-24.04 (glibc mismatch)#37
lukasMega merged 1 commit into
mainfrom
fix/linux-x86_64-glibc

Conversation

@lukasMega

Copy link
Copy Markdown
Owner

Problem

Build linux-x86_64 failed in the v0.9.0 release run (job log):

tjs: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found
tjs: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.31' not found

The prebuilt slim txiki.js assets are built on 24.04 images; the job ran on ubuntu-22.04 (glibc 2.35), so tjs compile couldn't execute the runtime it had just downloaded. linux-arm64 passed because ubuntu-24.04-arm already matched. macOS x86_64/arm64 and Windows all succeeded.

Fix

Move linux-x86_64 to ubuntu-24.04.

Consequence, now documented: the shipped Linux binaries need glibc 2.38+ (Ubuntu 24.04+, Debian 13+). Lowering that floor later is a two-line change — set from_source: '1' on the job and move it back to a 22.04 image; the same slim profile then links against glibc 2.35.

Docs

  • getting-started.md — releases are no longer described as macOS-only; states the glibc floor and that only macOS x86_64 builds the runtime from source.
  • headless-linux.md — replaces the "prebuilt Linux binaries do not exist yet" notice with the actual assets + glibc requirement.

Re-releasing

deckbridge-v0.9.0 is tagged but no GitHub Release was published (the release job needs all builds green). After this merges, the tag has to be moved to the fix commit to re-trigger release.ymlauto-tag.yml won't re-fire, since the version is unchanged and the tag already exists.

…'s glibc

The prebuilt slim txiki.js assets are built on 24.04 images, so the linux-x86_64
job (ubuntu-22.04, glibc 2.35) downloaded a runtime it could not execute:

  tjs: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found

linux-arm64 was unaffected — its ubuntu-24.04-arm runner already matched.

Moving the job to ubuntu-24.04 fixes the build and sets the shipped Linux
binaries' floor at glibc 2.38 (Ubuntu 24.04+, Debian 13+), now documented in
getting-started and headless-linux. Lowering that floor later is a two-line
change: set from_source on the job and move it back to a 22.04 image.

Also refreshes the docs that still claimed releases are macOS-only and that
Linux has no prebuilt runtime.
@lukasMega
lukasMega merged commit 909dc0d into main Aug 19, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant