Problem
The prebuilt hl-linux-x86_64-gnu.tar.gz binary requires GLIBC_2.39, which is not available on common LTS distributions:
$ hl
hl: /lib64/libc.so.6: version `GLIBC_2.39' not found (required by hl)
Environment
- OS: Ubuntu 22.04 LTS (GLIBC 2.35)
- hl version: 0.36.3 (installed via aqua/mise,
hl-linux-x86_64-gnu variant)
- Also affected: Debian 12 (GLIBC 2.36), RHEL 9 (GLIBC 2.34), and other LTS distros
Root Cause
The linux-x86-gnu build target runs on ubuntu-latest in CI (build.yml), which is currently Ubuntu 24.04 with GLIBC 2.39. The resulting binary dynamically links against GLIBC 2.39 symbols, making it incompatible with older but still-supported LTS distributions.
Suggestion
Consider one of the following approaches to improve compatibility:
-
Build the GNU variant on an older runner (e.g., ubuntu-22.04) to lower the minimum GLIBC requirement. This is the most common approach for Rust projects targeting broad Linux compatibility.
-
Recommend the musl variant as the default for Linux in package manager registries (aqua, brew, etc.). The hl-linux-x86_64-musl build already exists and is statically linked, but aqua/mise currently selects the GNU variant by default.
-
Document the GLIBC requirement in the README/installation section so users on older distros know to use the musl variant or build from source.
Workaround
Users on older distributions can:
- Use the musl variant: download
hl-linux-x86_64-musl.tar.gz from the release page
- Build from source:
cargo install --locked --git https://github.com/pamburus/hl.git
Problem
The prebuilt
hl-linux-x86_64-gnu.tar.gzbinary requiresGLIBC_2.39, which is not available on common LTS distributions:Environment
hl-linux-x86_64-gnuvariant)Root Cause
The
linux-x86-gnubuild target runs onubuntu-latestin CI (build.yml), which is currently Ubuntu 24.04 with GLIBC 2.39. The resulting binary dynamically links against GLIBC 2.39 symbols, making it incompatible with older but still-supported LTS distributions.Suggestion
Consider one of the following approaches to improve compatibility:
Build the GNU variant on an older runner (e.g.,
ubuntu-22.04) to lower the minimum GLIBC requirement. This is the most common approach for Rust projects targeting broad Linux compatibility.Recommend the musl variant as the default for Linux in package manager registries (aqua, brew, etc.). The
hl-linux-x86_64-muslbuild already exists and is statically linked, but aqua/mise currently selects the GNU variant by default.Document the GLIBC requirement in the README/installation section so users on older distros know to use the musl variant or build from source.
Workaround
Users on older distributions can:
hl-linux-x86_64-musl.tar.gzfrom the release pagecargo install --locked --git https://github.com/pamburus/hl.git