Below are two tables showing the two problem classes that prevent co-installation of Multi-Arch:same binaries

For every M-A:same package we create a dummy package with the -pseudo prefix which depends on that package for amd64 and a dummy architecture generated from amd64 (called armhf here).

A machine parsable version can be retrieved in dose yaml format

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-geometry2

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
13python3-rosunit:armhf

Conflict

# of packages per conflictConflict
10python3-minimal:armhf
10python3.12-minimal:amd64
10python3.12:amd64
10python3:armhf
3libapr1-dev:armhf
3libaprutil1-dev: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
13 1libcollada-urdf-dev-pseudo(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-dev python3-rosunit:armhf
1libdepth-image-proc-dev-pseudo(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-dev
1libimage-rotate-dev-pseudo(*)libimage-rotate-devlibtf2-ros-devlibactionlib-dev
1libinteractive-markers-dev-pseudo(*)libinteractive-markers-devlibtf2-ros-devlibactionlib-dev
1liblaser-geometry-dev-pseudo(*)liblaser-geometry-devlibtf-devlibtf2-ros-devlibactionlib-dev
1libpcl-ros-dev-pseudo(*)libpcl-ros-devlibtf-devlibtf2-ros-devlibactionlib-dev
1librobot-state-publisher-dev-pseudo(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-ros-devlibactionlib-dev
1librviz-dev-pseudo(*)librviz-devlibinteractive-markers-devlibtf2-ros-devlibactionlib-dev
1libtf-conversions-dev-pseudo(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-dev
1libtf-dev-pseudo(*)libtf-devlibtf2-ros-devlibactionlib-dev
1libtf2-kdl-dev-pseudo(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-dev
1libtf2-ros-dev-pseudo(*)libtf2-ros-devlibactionlib-dev
1libtf2-sensor-msgs-dev-pseudo(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-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
10 1libcollada-urdf-dev-pseudo(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimal python3-minimal:armhf
1libdepth-image-proc-dev-pseudo(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3python3-minimal
1libinteractive-markers-dev-pseudo(*)libinteractive-markers-devpython3-rospypython3-yamlpython3python3-minimal(*)libinteractive-markers-devlibtf2-ros-devlibactionlib-devpython3python3-minimal
1liblaser-geometry-dev-pseudo(*)liblaser-geometry-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)liblaser-geometry-devlibtf2-devlibtf2-msgs-devros-message-generationpython3python3-minimal
1librobot-state-publisher-dev-pseudo(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-msgs-devros-message-generationpython3python3-minimal
1libtf-conversions-dev-pseudo(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimal
1libtf-dev-pseudo(*)libtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)libtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimal
1libtf2-kdl-dev-pseudo(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3-minimal
1libtf2-ros-dev-pseudo(*)libtf2-ros-devlibactionlib-devpython3python3-minimal(*)libtf2-ros-devlibactionlib-devpython3python3-minimal
1libtf2-sensor-msgs-dev-pseudo(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3python3-minimal(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3python3-minimal
10 1libcollada-urdf-dev-pseudo(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal python3.12-minimal:amd64
1libdepth-image-proc-dev-pseudo(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
1libinteractive-markers-dev-pseudo(*)libinteractive-markers-devlibtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libinteractive-markers-devpython3-rospypython3-yamlpython3python3-minimalpython3.12-minimal
1liblaser-geometry-dev-pseudo(*)liblaser-geometry-devlibtf2-devlibtf2-msgs-devros-message-generationpython3python3.12python3.12-minimal(*)liblaser-geometry-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
1librobot-state-publisher-dev-pseudo(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-msgs-devros-message-generationpython3python3.12python3.12-minimal(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
1libtf-conversions-dev-pseudo(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
1libtf-dev-pseudo(*)libtf-devlibtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libtf-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
1libtf2-kdl-dev-pseudo(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
1libtf2-ros-dev-pseudo(*)libtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
1libtf2-sensor-msgs-dev-pseudo(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3python3.12python3.12-minimal(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3python3-minimalpython3.12-minimal
10 1libcollada-urdf-dev-pseudo(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3.12(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3.12 python3.12:amd64
1libdepth-image-proc-dev-pseudo(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3python3.12(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3python3.12
1libinteractive-markers-dev-pseudo(*)libinteractive-markers-devlibtf2-ros-devlibactionlib-devpython3python3.12(*)libinteractive-markers-devpython3-rospypython3-yamlpython3python3.12
1liblaser-geometry-dev-pseudo(*)liblaser-geometry-devlibtf2-devlibtf2-msgs-devros-message-generationpython3python3.12(*)liblaser-geometry-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3.12
1librobot-state-publisher-dev-pseudo(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-msgs-devros-message-generationpython3python3.12(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3.12
1libtf-conversions-dev-pseudo(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3.12(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3python3.12
1libtf-dev-pseudo(*)libtf-devlibtf2-ros-devlibactionlib-devpython3python3.12(*)libtf-devlibtf2-ros-devlibactionlib-devpython3python3.12
1libtf2-kdl-dev-pseudo(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3.12(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3python3.12
1libtf2-ros-dev-pseudo(*)libtf2-ros-devlibactionlib-devpython3python3.12(*)libtf2-ros-devlibactionlib-devpython3python3.12
1libtf2-sensor-msgs-dev-pseudo(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3python3.12(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3python3.12
10 1libcollada-urdf-dev-pseudo(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3(*)libcollada-urdf-devlibtf-devlibtf2-ros-devlibactionlib-devpython3 python3:armhf
1libdepth-image-proc-dev-pseudo(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3(*)libdepth-image-proc-devlibtf2-ros-devlibactionlib-devpython3
1libinteractive-markers-dev-pseudo(*)libinteractive-markers-devpython3-rospypython3-yamlpython3(*)libinteractive-markers-devlibtf2-ros-devlibactionlib-devpython3
1liblaser-geometry-dev-pseudo(*)liblaser-geometry-devlibtf-devlibtf2-ros-devlibactionlib-devpython3(*)liblaser-geometry-devlibtf2-devlibtf2-msgs-devros-message-generationpython3
1librobot-state-publisher-dev-pseudo(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3(*)librobot-state-publisher-devlibtf2-kdl-devlibtf2-msgs-devros-message-generationpython3
1libtf-conversions-dev-pseudo(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3(*)libtf-conversions-devlibtf-devlibtf2-ros-devlibactionlib-devpython3
1libtf-dev-pseudo(*)libtf-devlibtf2-ros-devlibactionlib-devpython3(*)libtf-devlibtf2-ros-devlibactionlib-devpython3
1libtf2-kdl-dev-pseudo(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3(*)libtf2-kdl-devlibtf2-ros-devlibactionlib-devpython3
1libtf2-ros-dev-pseudo(*)libtf2-ros-devlibactionlib-devpython3(*)libtf2-ros-devlibactionlib-devpython3
1libtf2-sensor-msgs-dev-pseudo(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3(*)libtf2-sensor-msgs-devlibtf2-ros-devlibactionlib-devpython3
3 1libtf2-kdl-dev-pseudo(*)libtf2-kdl-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibapr1-dev(*)libtf2-kdl-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibapr1-dev libapr1-dev:armhf
1libtf2-ros-dev-pseudo(*)libtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibapr1-dev(*)libtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibapr1-dev
1libtf2-sensor-msgs-dev-pseudo(*)libtf2-sensor-msgs-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibapr1-dev(*)libtf2-sensor-msgs-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibapr1-dev
3 1libtf2-kdl-dev-pseudo(*)libtf2-kdl-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibaprutil1-dev(*)libtf2-kdl-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibaprutil1-dev libaprutil1-dev:armhf
1libtf2-ros-dev-pseudo(*)libtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibaprutil1-dev(*)libtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibaprutil1-dev
1libtf2-sensor-msgs-dev-pseudo(*)libtf2-sensor-msgs-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibaprutil1-dev(*)libtf2-sensor-msgs-devlibtf2-ros-devlibroscpp-devlibrosconsole-devliblog4cxx-devlibaprutil1-dev

generated: 20241118T000000Z


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.