ldbox is a lightweight virtualisation environment for cross-compilation.

It allows to transparently build and package software for Linux distributions and architectures different from the one on a host system. ldbox is lightweight and simple to use. It requires no additional permissions besides those that a regular user already has to setup build environment and run commands inside it.

ldbox doesn't use any system virtualisation and isolation capabilities (not even chroot). Instead, it preloads a shared library that modifies arguments to many functions in glibc, the standard C library. As a result, a program running under ldbox's control sees a virtual filesystem view according to configurable rules.

Also, these rules control how new programs are started. For example, a program for foreign architecture can be started inside an emulator (like qemu), and cross-compiler started instead of native compiler for foreign architecture.

ldbox is a fork of Scratchbox 2 (sb2), but has nothing to do with old Scratchbox (not sb2). See Project History for details.

See Motivation for rationale why ldbox is needed.

See Basic concepts for introduction to ldbox's basic concepts.

See HowTo if you're alreday familiar with ldbox concepts and want to start setting up targets and using ldbox.