Coming soon
Test your package on every Linux distro.
Upload your package. Distroproof runs it on clean Linux systems and shows you where it breaks, why it fails, and how to fix it.
| System | Result | Detail |
|---|---|---|
| ubuntu:24.04 | Passed | Installed and ran |
| debian:12 | Passed | Installed and ran |
| fedora:41 | Passed | Installed and ran |
| alpine:3.20 | Failed | Needs glibc. Alpine uses musl. |
Suggested fix: publish a separate musl build for Alpine.
How it works
Upload your package
Add your package and the command that proves it works, such as
mytool --version.Choose your systems
Pick the Linux distributions and versions your users run, or test them all.
Run on clean systems
Each test starts from a fresh, isolated machine, so nothing left on your laptop can hide a problem.
Read one clear report
See the systems that passed and failed, the cause of each failure, and a suggested fix, with the full logs behind it.
Why packages break across Linux distributions
"It works on my machine" hides real differences between systems. These are the common ones:
- C library
- Most distributions use glibc and Alpine uses musl, so native binaries often will not run on both.
- glibc version
- A binary built on a new system can fail on an older one with a "version GLIBC not found" error.
- Missing libraries
- A shared library present on your machine may be absent or named differently elsewhere.
- Package managers
- Scripts that assume
aptfail on systems that usednf,apkorpacman. - Default tools
- Minimal images can lack bash, curl or systemd, which install scripts often take for granted.
- CPU architecture
- A build that runs on x86-64 will not run on ARM servers without its own build.
Who it is for
- CLI tool authors who ship binaries to Linux users
- Maintainers of native modules and language bindings
- Teams shipping agents, SDKs and install scripts
- Open source projects tired of distro-specific bug reports
Frequently asked questions
What is Distroproof?
Distroproof is an upcoming web service that tests your package on clean Linux systems. It reports where the package breaks, why it fails, and how to fix it.
Why does a package work on Ubuntu but fail on Alpine?
Ubuntu uses the glibc C library and Alpine uses musl. A binary built against glibc usually will not run on Alpine unless it is rebuilt for musl or a compatibility layer is installed.
How is this different from a Docker matrix in CI?
A Docker matrix tells you that a job failed. You still have to write and maintain it and read every log. Distroproof is designed to group the failures across distributions and explain the cause and the fix in one report.
Is Distroproof available now?
Not yet. Distroproof is in development and this page describes what it is being built to do.