Repository navigation
v0.10.3 — withdrawn
This release has been withdrawn. Its assets have been removed. Use v0.10.4 or later.
Why it was withdrawn
The linux/amd64 binary in this release was dynamically linked against glibc, while every other target was static:
amd64: ELF 64-bit LSB executable, x86-64, dynamically linked,
interpreter /lib64/ld-linux-x86-64.so.2
arm64: ELF 64-bit LSB executable, ARM aarch64, statically linked
GOARCH=amd64 on an amd64 build runner is not a cross-compile, so cgo stayed enabled by default for that one target. Every other target cross-compiles and was therefore already static, which is why the asymmetry went unnoticed.
This breaks the premise these packages are built on — that one package per architecture works across all distro versions:
- Alpine (musl), amd64 — the package installs, but the binary cannot start at all: there is no glibc loader.
- Older distributions, amd64 — built against the runner's glibc 2.39, so anything older (Debian 12, RHEL 9, …) fails with a
GLIBC_2.xx not founderror.
The arm64 packages of this release were unaffected.
How it was found
By installing the published packages from https://pkg.tomtonic.de in throwaway Debian and Alpine containers, rather than testing local builds. Debian ran the binary; Alpine could not load it — same emulated setup, so the difference is glibc vs. musl, not an emulation artifact.
What changed in the replacement
v0.10.4 sets CGO_ENABLED=0 for the build step, so all nine targets are built identically and statically. It is otherwise functionally identical.
If you installed v0.10.3
On glibc distributions matching or newer than the build runner, it worked correctly and nothing was at risk — only the portability guarantee was not met. Upgrading normally is enough:
sudo apt update && sudo apt install --only-upgrade prune_backups # or dnf/apk/pacman