---
name: "edos-builddebcheck"
section: "1"
platform: "linux"
package: "edos-distcheck"
version: "1.4.2-13+b1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/edos-builddebcheck"
---

# edos-builddebcheck(1)

Check satisfiability of Debian package build-dependencies

## NAME

Edos-builddebcheck - Check satisfiability of Debian package build-dependencies

## SYNOPSIS

**edos-builddebcheck** \[option\] ... Packagefile Sourcepackagefile

## DESCRIPTION

**edos-builddebcheck** reads a set of Debian package descriptions from the file *Packagefile*, each of which is in the format of [deb-control(5)](/deb-control/5.md), and a set of source package descriptions from the file *Sourcepackagefile*. All packages described in the file *Packagefile* must have the same value of their *Architecture* (if it is different from *all*).

For instance, the Packages and Sources files as found on a Debian mirror server, or in the directory */var/lib/apt/lists/* of a Debian system, are suitable as input files.

**edos-builddebcheck** verifies for every of the source packages (from *Sourcepackagefile*) whether its build-dependencies, build-indep-dependencies and build-conflicts can be satisfied from the binary packages provided in *Packagefile*. Only build-relations that apply to the architecture (see below on how the architecture is determined) are taken into account.

Note that this is not the same thing as checking whether a distribution  can be rebuild from scratch, for several reasons:

**1.** No actual compilation is taking place, this tool only does a static analysis of package relationships.

**2.** The binary packages in *Packages* are not necessarily those that are the result of the compilation of the source packages in *Sourcepackagefile*.

**3.** We do not check for cycles. For instance, suppose that we have source packages *a* and *b* both generating one binary package of respectively the same name, and that *a* build-depends on *b* and *b* build-depends on *a*. Then we can not rebuild the set of packages from scratch because of the cycle. However, if we already have binary packages *a* and *b* then we can recompile both of them. Consequently, **edos-builddebcheck** will not report an error in this case.

**4.** The underlying logical machine does a complete analysis of alternatives, and might report satisfiability of constraints in case actual tools (like apt) fail to find a solution.

Build-essential packages are ignored in unversioned build-dependencies.  The (architecture dependant) list of build-essential packages is read from the configuration file. If that file is not available than an architecture independent default value is used.

## OPTIONS

- **-a, --architecture *architecture***

  Check for compilation on *architecture*. Usually it is not necessary to specify the architecture since it can be derived from the Packages file.

- **-be, --binexplain**

  Add all explanations why build-dependencies are not satisfiable. Without that option some of these explanations may be missing from the output in case a source package build-depends on a binary package that exists in  *Packagefile* file but that edos-debchecks finds not to be installable inside *Packagefile*.

## FILES

- **/etc/edos-builddebcheck.conf**

  Configuration file for edos-builddebcheck

## AUTHOR

Edos-builddebcheck has been written by Stefano Zacchiroli \<zack@debian.org\> and Ralf Treinen \<treinen@debian.org\>. It heavily relies on edos-debcheck which has been written by Jerome Vouillon for the EDOS project.

## SEE ALSO

[**deb-control**(5)](/deb-control/5.md),[**edos-debcheck**(1)](/edos-debcheck/1.md)
