---
name: "embuilddeps"
section: "1"
platform: "linux"
package: "xapt"
version: "2.2.19"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/embuilddeps"
---

# embuilddeps(1)

handle native and cross build-dependency installation.

## NAME

embuilddeps - handle native and cross build-dependency installation.

## Usage

```
 embuilddeps [-a|--arch] [--use-sudo]
 embuilddeps -?|-h|--help|--version
```

## Options

```
 -a|--arch:          Install cross packages for the specified arch.
 -d|--dir DIR:       Location of the unpacked source (./debian/control)
    --dsc DSCFILE:   Path to a .dsc file for the package.
 -m|--multiarch:     Make dpkg-cross convert Multi-Arch packages.
 -k|--preserve:      Pass the -k option down to xapt.
 -v|--verbose:       Make the output more verbose
 -q|--quiet:         Make the output less verbose
 -n|--dry-run:       Only output the commands which would be used.
 --use-sudo:         Call apt-get using sudo.
```

## Description

`"embuilddeps"` is a simple build dependency checker for cross-building. Native build dependencies are checked using the *debian/control* file in the source package being built and installed with `"apt-get"`.

Cross build dependencies are checked using a *debian/xcontrol* file or the *debian/control* file if no xcontrol file exists.

`"embuilddeps"` uses `"xapt"` to install cross build dependencies.

## Output

To see more about what is going on (and to check the results of parsing the dependencies and architecture limits.

See also Term::ANSIColor (3) for information on ANSI\_COLORS\_DISABLED.

## pbuilder

`"embuilddeps"` can be used as a native and cross-dependency resolver in a pbuilder chroot using `"pbuilder"`, `"pdebuild"` or `"pdebuild-cross"` and supports pbuilder options to locate the chroot and execute calls within the chroot.

```
 --control indicates the location of the .dsc file
 --internal-chrootexec indicates the command to execute inside the chroot
 --chroot indicates the location of the chroot
 --binary-all is supported as a no-op by C<embuilddeps>.
```

If other build tools need particular options to be supported, please file a wishlist bug against `"xapt"` and describe the exact options which are necessary.

`"embuilddeps"` does require that `"xapt"` is installed inside the chroot - it will try to install it for you but it is much easier if you install it once and for all. `"pdebuild-cross"` will add `"xapt"` when creating a new chroot. See pdebuild-cross (1) for more information on how to manipulate a pdebuild-cross chroot after creation.

## Source packages and dsc files

`"embuilddeps"` can also parse the build dependencies of a package via the *.dsc* file. The rest of the source package (the files listed in the *.dsc*) do **not** need to exist and the source does not need to have been unpacked. Use the `"embuilddeps --dsc FILE"` option.

The alternative method is to parse the *./debian/control* file at the location specified by the `"--dir"` option which defaults to the current working directory.

## Multi-Arch transition

Some packages already have multi-arch paths which dpkg-cross does not normally convert. This can cause missing dependencies when trying to install the converted packages. Use the `"--multiarch"` option to `"embuilddeps"` to pass this down to `"xapt"` and hence to `"dpkg-cross"`.

## Retaining downloaded binaries

`"embuilddeps"` can pass the `"-k"` option to `"xapt"` to retain the foreign architecture packages downloaded by `"xapt"` and the packages built using `"dpkg-cross"`.

Note that `"xapt"` should be asked to clean up the downloaded files once these lists have been handled by calling the `"xapt -c"` option which removes the contents of */var/lib/xapt/\**.
