Build cross-distro Linux binaries

Easily ship Linux binaries for C and C++ programs that work across multiple Linux distributions and versions.

Learn more

Do you recognize this?

You are C/C++ developer targeting Linux, and...

  • ...there are many people in your userbase with low to medium system administration skill, and you want your users to be able to easily use your applications, so you want to avoid asking them to compile from source.
  • ...you are wary of having to invest a disproportionate amount of time into building platform-specific packages. You want something that works for the majority of your users, without having to invest too much time.
  • ...you want your users to be easily able to use the latest versions of your software, so waiting for distributions to package your application is not an option.

If this is you, then you have come to the right place.

So you want to ship binaries to your users...

But you find out that it isn't quite that easy. Compile your C/C++ program on one distribution, then run it on another, and you get...

./foo: /lib/libc.so.6: version `GLIBC_2.11' not found
./foo: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

Windows developers can build binaries that work on all Windows versions. Why can't you do the same with Linux?

We know why and we have a solution for you.

Holy Build Box to the rescue

Holy Build Box is a system for building "portable" binaries for Linux: binaries that work on pretty much any Linux distribution. This works by providing an easy-to-use, isolated, tightly-controlled compilation environment that is designed for producing portable binaries. Holy Build Box can produce x86 and x86-64 binaries.

Problem introduction | FAQ | Walkthrough

Learn how it works in 10 minutes

Vote on Hacker News

Serve a large part of your userbase with relatively fewer effort

Before Holy Build Box

After Holy Build Box

Stop herding a fleet of VMs, pbuilder/mock environments and tons of packages, each which only covers a small percentage of your userbase. Instead, use Holy Build Box to produce just two binaries that are good enough for most of your userbase.

Easy to learn

Much easier to learn than distribution-specific package managers. See results in just 10 minutes. We also have a ton of good documentation.

Fast & lightweight

Holy Build Box runs on your Linux workstation. No need for a fleet of virtual machines for the purpose of producing distribution-version-specific packages.

C++11

Holy Build Box ships GCC 4.8. This allows you to develop in C++11 even if you have to target distributions with older GCC versions.

Featured use cases

Pall Melsted, part of a team of researchers from the University of Iceland and the University of California Berkeley, uses Holy Build Box to build binaries for Kallisto, their RNA transcript quantification software.

Their research software is meant to be used by other academics, so Melsted has no control over which systems their software is used on. These other academics are primarily researchers and have few system administration skills.

Holy Build Box allows Melsted's team to publish binaries that other researchers can use with few hassles. Other researchers do not have to worry about upgrading their OS, installing a new compiler or installing dependencies.

At the same time, Melsted's team can pick their favorite and most productive programming language, C++11, without worrying about which Linux systems their users use. Melsted's team also does not have to think about publishing different binaries/packages for all the different Linux systems their users may be using.

Traveling Ruby is a system for producing self-contained Ruby application packages for Windows, Linux and OS X. You could think of it as the Holy Build Box equivalent for Ruby applications.

Traveling Ruby works by providing precompiled Ruby binaries that work on any Linux system. Ruby developers can then take our binaries, bundle it with their application code, and distribute the result as a single zip or tar.gz file to end users. This way, end users do not have to install Ruby in order to use their applications.

The Linux binaries published by the Traveling Ruby project are produced with Holy Build Box.

Ready to give it a try?

Get it at Github

Check out our other stuff too

Passenger web app server

Launch, operate, optimize and protect web apps, microservices & APIs with a rock-solid, feature-rich web app server that just works.