Skip to content

fix(ci): build against glibc 2.17 and updated readme requirements. - #232

Merged
Aryex merged 3 commits into
release-1.0from
alexl/issue-223-glibc-compat-rel10
Aug 6, 2026
Merged

Aryex merged 3 commits into
release-1.0from
alexl/issue-223-glibc-compat-rel10

Conversation

@Aryex

@Aryex Aryex commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR fixes the published gem's prebuilt libglide_ffi.so to compile against glibc 2.17. We also updated the Readme to reflect the current Ruby version support.

README / documentation changes

This PR also corrects the System Requirements section, which previously claimed platforms that were never tested and, in some cases, cannot work.

Notably, we removed the JRuby support from documentations. Added #235 as a followup to verify our support level.

Issue

Close #223

Changes

Build the two linux-gnu targets with cargo zigbuild --target <triple>.2.17 to pin glibc to 2.17. This matches how the upstream Java client builds its native artifacts

  • New composite action .github/actions/install-zigbuild installs pinned zig + cargo-zigbuild (versions kept internal, not exposed as inputs). Used by both cd.yml and ci.yml.
  • Artifact upload paths updated: an explicit --target moves cargo output to target/<triple>/release/.
  • README System Requirements reworked to separate tested platforms from compatible-by-glibc-floor platforms, and to correct the macOS claim (only aarch64-apple-darwin ships).
  • CHANGELOG entry.

Verification

Build: CD run on this branch built both linux-gnu targets successfully — aws-lc-sys/ring compile cleanly through zig cc.

glibc floor: objdump -T on the shipped libglide_ffi.so tops out at GLIBC_2.17 on both x86_64 and aarch64. Pre-fix baseline was GLIBC_2.39.

Functional (native, not emulated): the fixed gem was installed and exercised on a native x86_64 EC2 instance (glibc 2.31) inside Docker containers for both distros from the issue report:

OS glibc objdump max require + PING/SET/GET
Debian 11 2.31 GLIBC_2.17 ✅ pass (stock Ruby 2.7.4)
Ubuntu 20.04 2.31 GLIBC_2.17 ✅ pass (Ruby ≥ 3.0)

The native run confirms the fix end-to-end for the exact environments reported in #223. (Ubuntu 20.04's stock Ruby 2.7.0 cannot install the gem — the ffi ~> 1.17 dependency requires Ruby ≥ 3.0 — but that is a separate, non-glibc packaging constraint, not a regression of this fix; verified with Ruby 3.2 in the same glibc-2.31 container.)

Signed-off-by: Alex Le <alex.le@improving.com>
Signed-off-by: Alex Le <alex.le@improving.com>
@Aryex Aryex self-assigned this Aug 5, 2026
Signed-off-by: Alex Le <alex.le@improving.com>
@Aryex
Aryex marked this pull request as ready for review August 5, 2026 19:31
@Aryex Aryex changed the title fix(ci): build linux-gnu native libs against glibc 2.17 (#223) fix(ci): build against glibc 2.17 and updated readme requirements. Aug 5, 2026
@Aryex Aryex mentioned this pull request Aug 5, 2026
@Aryex
Aryex merged commit a57cebb into release-1.0 Aug 6, 2026
18 checks passed
@Aryex
Aryex deleted the alexl/issue-223-glibc-compat-rel10 branch August 6, 2026 20:53
Aryex added a commit that referenced this pull request Aug 14, 2026
)

* fix: workflows now correctly builds against glibc 2.17

Signed-off-by: Alex Le <alex.le@improving.com>

* updated macos docs

Signed-off-by: Alex Le <alex.le@improving.com>

* docs: removed JRuby support

Signed-off-by: Alex Le <alex.le@improving.com>

---------

Signed-off-by: Alex Le <alex.le@improving.com>
Aryex added a commit that referenced this pull request Aug 14, 2026
)

* fix: workflows now correctly builds against glibc 2.17

Signed-off-by: Alex Le <alex.le@improving.com>

* updated macos docs

Signed-off-by: Alex Le <alex.le@improving.com>

* docs: removed JRuby support

Signed-off-by: Alex Le <alex.le@improving.com>

---------

Signed-off-by: Alex Le <alex.le@improving.com>
Aryex added a commit that referenced this pull request Aug 14, 2026
)

* fix: workflows now correctly builds against glibc 2.17

Signed-off-by: Alex Le <alex.le@improving.com>

* updated macos docs

Signed-off-by: Alex Le <alex.le@improving.com>

* docs: removed JRuby support

Signed-off-by: Alex Le <alex.le@improving.com>

---------

Signed-off-by: Alex Le <alex.le@improving.com>
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.

2 participants