Below are two tables showing the two problem classes that prevent cross compilation on the dependency level. This example tries to satisfy the crossbuild dependencies of all source packages on amd64 as the build architecture for a dummy architecture generated from amd64 (called armhf here) as the host architecture in current Debian sid.

A machine parsable version can be retrieved in dose yaml format

Bugs are associated with packages on this page if they carry the usertag "cross-satisfiability" of the user "debian-cross@lists.debian.org".

You can get an overview of all bugs tagged like that in the Debian bts

Hover over a package name with your cursor for architecture and version information. Hovering over the arrows in the depchain columns will show the dependency that led from one package in the chain to the next.

src:trippy

Top 10 summary

The following is a summary of the full "missing" and "conflict" tables below. It only shows the first and last columns of the full tables and only displays the top 10 rows.

Missing

# of packages per missingUnsatisfied dependency
14librust-ahash-0.8+default-dev:armhf
12librust-async-std-1+default-dev:armhf (>= 1.12-~~)
7librust-ahash-0.8-dev:armhf (>= 0.8.7-~~)
7librust-ahash-dev:armhf (>= 0.8.11-3)
7librust-wide-1-dev:armhf
6librust-flume-0.11+async-dev:armhf
6librust-rustls-0.23+ring-dev:armhf (>= 0.23.11-~~)
6librust-rustls-0.23+std-dev:armhf (>= 0.23.11-~~)
6librust-rustls-0.23+tls12-dev:armhf (>= 0.23.11-~~)
6librust-rustls-native-certs-0.8+default-dev:armhf

Conflict

# of packages per conflictConflict
36binutils-x86-64-linux-gnu:amd64
34binutils:amd64
2cpp-16:amd64
2cpp:amd64
2gcc-16:armhf
2gcc:amd64

missing

The packages in the third column cannot satisfy their (possibly transitive) dependencies because of the unsatisfied dependency in the last column. This is mostly because the binary package providing the dependency in the last column is Multi-Arch:no. Some of these packages need to be Multi-Arch:foreign instead. In some other cases, Build-Depends can be annotated with :native. The depchains column shows the dependency chain(s) from the packages in the third column to the unsatisfied dependency in the last column. The "(*)" placeholder in the depchains column represents any package in the third column. Hovering over the arrows in the depchains column with your cursor will show the dependency that led from one package in the chain to the next.

The output is first grouped by the shared unsatisfied dependency (last column) and then by shared dependency chain (fourth column). The groups are sorted by the number of packages missing the dependency in the last column. Within each group, the output is sorted by the number of packages sharing the same dependency chain.

# of packages per missing# of packages per depchainpackages with missing (possibly transitive) dependenciesDepchainsUnsatisfied dependency
14 8src:atuin src:bpftop src:edu-sync src:jujutsu src:rsass src:rudof src:ruff src:trippy(*)librust-tracing-subscriber-devlibrust-tracing-log-dev librust-ahash-0.8+default-dev:armhf
6src:atuin src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-borsh-devlibrust-bson-dev
12 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-core-dev librust-async-std-1+default-dev:armhf (>= 1.12-~~)
6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-macros-devlibrust-sqlx-macros-core-dev
7 7src:atuin src:cyme src:edu-sync src:ruff src:safe-vdash src:trippy src:wiremix(*)librust-serde-with-devlibrust-hashbrown-0.14-dev librust-ahash-0.8-dev:armhf (>= 0.8.7-~~)
7 7src:atuin src:cyme src:edu-sync src:ruff src:safe-vdash src:trippy src:wiremix(*)librust-serde-with-devlibrust-hashbrown-0.14-dev librust-ahash-dev:armhf (>= 0.8.11-3)
7 7src:btm src:disgreet src:dua-cli src:jujutsu src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-palette-dev librust-wide-1-dev:armhf
6 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-sqlite-dev librust-flume-0.11+async-dev:armhf
6 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-core-dev librust-rustls-0.23+ring-dev:armhf (>= 0.23.11-~~)
6 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-core-dev librust-rustls-0.23+std-dev:armhf (>= 0.23.11-~~)
6 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-core-dev librust-rustls-0.23+tls12-dev:armhf (>= 0.23.11-~~)
6 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-core-dev librust-rustls-native-certs-0.8+default-dev:armhf
6 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-core-devlibrust-rustls-pemfile-dev librust-rustls-pki-types-1+default-dev:armhf (>= 1.9-~~)
6 6src:btm src:disgreet src:dua-cli src:safe-vdash src:trippy src:wiremix(*)librust-ratatui-devlibrust-ratatui-core-devlibrust-compact-str-devlibrust-sqlx-devlibrust-sqlx-core-devlibrust-rustls-pemfile-dev librust-rustls-pki-types-1+std-dev:armhf (>= 1.9-~~)
4 4src:btm src:pydantic-core src:ruff src:trippy(*)librust-strum-devlibrust-phf+phf-macros-devlibrust-phf-macros-devlibrust-phf-generator-dev librust-criterion-0.5+default-dev:armhf
3 3src:precious src:ruff src:trippy(*) librust-test-case-dev:armhf
2 1src:trippy(*)librust-hickory-resolver-devlibrust-hickory-proto-dev librust-rustls-0.23+logging-dev:armhf (>= 0.23.23)
1src:trippy(*)librust-hickory-resolver-dev
2 1src:trippy(*)librust-hickory-resolver-devlibrust-quinn-devlibrust-quinn-proto-dev librust-rustls-0.23+logging-dev:armhf (>= 0.23.5)
1src:trippy(*)librust-hickory-resolver-devlibrust-quinn-dev
2 1src:trippy(*)librust-hickory-resolver-devlibrust-hickory-proto-dev librust-rustls-0.23+std-dev:armhf (>= 0.23.23)
1src:trippy(*)librust-hickory-resolver-dev
2 1src:trippy(*)librust-hickory-resolver-devlibrust-quinn-devlibrust-quinn-proto-dev librust-rustls-0.23+std-dev:armhf (>= 0.23.5)
1src:trippy(*)librust-hickory-resolver-devlibrust-quinn-dev
2 1src:trippy(*)librust-hickory-resolver-devlibrust-hickory-proto-dev librust-rustls-0.23+tls12-dev:armhf (>= 0.23.23)
1src:trippy(*)librust-hickory-resolver-dev
1 1src:trippy(*)librust-hickory-resolver-devlibrust-quinn-dev librust-async-std-1+default-dev:armhf (>= 1.11)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-tokio-rustls-dev librust-rustls-0.23+brotli-dev:armhf (>= 0.23.27-~~)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-tokio-rustls-dev librust-rustls-0.23+logging-dev:armhf (>= 0.23.27-~~)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-tokio-rustls-dev librust-rustls-0.23+ring-dev:armhf (>= 0.23.27-~~)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-quinn-devlibrust-quinn-proto-dev librust-rustls-0.23+ring-dev:armhf (>= 0.23.5)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-tokio-rustls-dev librust-rustls-0.23+std-dev:armhf (>= 0.23.27-~~)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-tokio-rustls-dev librust-rustls-0.23+tls12-dev:armhf (>= 0.23.27-~~)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-tokio-rustls-dev librust-rustls-0.23+zlib-dev:armhf (>= 0.23.27-~~)
1 1src:trippy(*)librust-hickory-resolver-devlibrust-hickory-proto-dev librust-rustls-pki-types-1+default-dev:armhf (>= 1.10)

conflict

The packages in the third column cannot satisfy their (possibly transitive) dependencies because the last package(s) in the first depchain have an unsatisfied conflict which is shown in the last column. The second depchain column shows the dependency chain(s) to the package which the last package(s) in the first depchain conflict with. Sometimes, multiple dependency chains sharing the same conflict exist. Hovering over the arrows in the depchains column with your cursor will show the dependency that led from one package in the chain to the next.

The output is first grouped by the shared conflicting dependency (last column) and then by the shared dependency chains (fourth and fifth column). The groups are sorted by the number of packages sharing the conflict in the last column. Within each group, the output is sorted by the number of packages sharing the same dependency chains.

# of packages per conflict# of packages per depchainpackages with (possibly transitive) conflicting dependenciesDepchain 1Depchain2Conflict
36 36src:angelfish src:blake3-py src:corrosion src:ddccontrol src:ddnet src:fish src:gcc-avr src:gnome-metronome src:gnome-user-share src:hippotat src:kdepim-addons src:mozjs140 src:newsboat src:phosh-file-selector src:python-cryptography src:python-jellyfish src:python-minijinja src:python-netifaces2 src:python-nh3 src:python-orjson src:python-ormar-utils src:python-pycddl src:python-vcsgraph src:python-vtracer src:python-watchfiles src:rpds-py src:ruby-commonmarker src:ruff src:safetensors src:shotman src:spice-crypt src:squeekboard src:tokenizers src:trippy src:unicode-segmentation-rs src:xdg-desktop-portal-phosh(*)build-essentialdpkg-devbinutilsbinutils-x86-64-linux-gnu(*)cargobinutilsbinutils-x86-64-linux-gnu binutils-x86-64-linux-gnu:amd64
34 34src:angelfish src:blake3-py src:corrosion src:fish src:gnome-metronome src:gnome-user-share src:hippotat src:kdepim-addons src:librsvg src:mozjs140 src:newsboat src:phosh-file-selector src:python-cryptography src:python-jellyfish src:python-minijinja src:python-netifaces2 src:python-nh3 src:python-orjson src:python-ormar-utils src:python-pycddl src:python-vcsgraph src:python-vtracer src:python-watchfiles src:rpds-py src:ruby-commonmarker src:ruff src:safetensors src:shotman src:spice-crypt src:squeekboard src:tokenizers src:trippy src:unicode-segmentation-rs src:xdg-desktop-portal-phosh(*)build-essentialdpkg-devbinutils(*)cargobinutils binutils:amd64
2 2src:pay-respects src:trippy(*)build-essentialgccgcc-16cpp-16(*)rustcgccgcc-16cpp-16 cpp-16:amd64
2 2src:pay-respects src:trippy(*)build-essentialgcccpp(*)rustcgcccpp cpp:amd64
2 2src:pay-respects src:trippy(*)rustcgccgcc-16(*)build-essentialgccgcc-16 gcc-16:armhf
2 2src:pay-respects src:trippy(*)build-essentialgcc(*)rustcgcc gcc:amd64

generated: 20260803T000000Z


The JSON data used to generate these pages was computed using botch, the bootstrap/build ordering tool chain. The source code of botch can be redistributed under the terms of the LGPL3+ with an OCaml linking exception. The source code can be retrieved from https://salsa.debian.org/debian-bootstrap-team/botch

The html pages were generated by code which can be retrieved from https://salsa.debian.org/debian-bootstrap-team/boott and which can be redistributed under the terms of the AGPL3+

For questions and bugreports please contact j [dot] schauer [at] email [dot] de.