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:ros-urdf

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
15libroscpp-msg-dev:armhf
10pluginlib-dev:armhf

Conflict

# of packages per conflictConflict
5python3-minimal:amd64
5python3.11-minimal:amd64
5python3.11:armhf
5python3:armhf

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
15 13src:mrpt src:ros-actionlib src:ros-bond-core src:ros-diagnostics src:ros-dynamic-reconfigure src:ros-geometry src:ros-geometry2 src:ros-image-common src:ros-interactive-markers src:ros-laser-geometry src:ros-opencv-apps src:ros-perception-pcl src:ros-urdf(*)libroscpp-dev libroscpp-msg-dev:armhf
2src:ros-collada-urdf src:ros-kdl-parser(*)liburdf-devlibroscpp-dev
10 6src:ros-diagnostics src:ros-image-common src:ros-nodelet-core src:ros-ros-comm src:ros-rviz src:ros-urdf(*) pluginlib-dev:armhf
3src:ros-collada-urdf src:ros-kdl-parser src:ros-rviz(*)liburdf-dev
1src:ros-robot-state-publisher(*)libkdl-parser-devliburdf-dev

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
5 5src:ros-nodelet-core src:ros-perception-pcl src:ros-robot-state-publisher src:ros-rviz src:ros-urdf(*)catkinpython3python3-minimal(*)libroscpp-devpython3python3-minimal python3-minimal:amd64
5 5src:ros-nodelet-core src:ros-perception-pcl src:ros-robot-state-publisher src:ros-rviz src:ros-urdf(*)catkinpython3python3-minimalpython3.11-minimal(*)libroscpp-devpython3python3.11python3.11-minimal python3.11-minimal:amd64
5 5src:ros-nodelet-core src:ros-perception-pcl src:ros-robot-state-publisher src:ros-rviz src:ros-urdf(*)libroscpp-devpython3python3.11(*)catkinpython3python3.11 python3.11:armhf
5 5src:ros-nodelet-core src:ros-perception-pcl src:ros-robot-state-publisher src:ros-rviz src:ros-urdf(*)libroscpp-devpython3(*)catkinpython3 python3:armhf

generated: 20230612T000000Z


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.