Below are two tables showing the two problem classes that prevent installation of foreign architecture binaries

We try to install all binary packages from a dummy architecture generated from amd64 (called armhf here) on amd64.

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:eccodes

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
67libcurl3t64-gnutls:armhf (>= 7.16.2)

Conflict

# of packages per conflictConflict
1libpsm2-2:amd64
1librados2: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
67 13cdo ferret-vis grads labplot libeccodes-tools libgmt6t64 libgnudatalanguage0 liblammps0t64 libmagplus3v5 libmetview0d libpdl-netcdf-perl r-cran-ncdf4 ruby-netcdf(*)libnetcdf22 libcurl3t64-gnutls:armhf (>= 7.16.2)
9libatlas-ecmwf0d libeccodes-tools libeccodes0 libfckit0d libfdb5-0d libmagplus3v5 libmetkit0d libmetview0d metview(*)libeckit0d
6libeccodes-tools libeccodes0 libfckit0d libfdb5-0d libmagplus3v5 libmetkit0d(*)libeckit0dlibproj25
4libglgrib-egl0 libglgrib-glfw0 libgnudatalanguage0 ruby-grib(*)libeccodes0libeckit0d
3flexpart flextra libcdi0(*)libeccodes0libeckit0d
3flexpart flextra libcdi0(*)libeccodes0libeckit0dlibproj25
3glgrib-glfw libglgrib-glfw-perl python3-glgrib-glfw(*)libglgrib-glfw0libeccodes0libeckit0d
3glgrib-glfw libglgrib-glfw-perl python3-glgrib-glfw(*)libglgrib-glfw0libeccodes0libeckit0dlibproj25
3libglgrib-egl0 libglgrib-glfw0 ruby-grib(*)libeccodes0libeckit0dlibproj25
2gnudatalanguage python3-gdl(*)libgnudatalanguage0libeccodes0libeckit0d
1glgrib-egl(*)libglgrib-egl0libeccodes0libeckit0d
1glgrib-egl(*)libglgrib-egl0libeccodes0libeckit0dlibproj25
1glgrib-tk(*)libglgrib-glfw-perllibglgrib-glfw0libeccodes0libeckit0d
1glgrib-tk(*)libglgrib-glfw-perllibglgrib-glfw0libeccodes0libeckit0dlibproj25
1libcdi-dev(*)libcdi0libeccodes0libeckit0d
1libcdi-dev(*)libcdi0libeccodes0libeckit0dlibproj25
1libeccodes-dev(*)libeccodes0libeckit0d
1libeccodes-dev(*)libeccodes0libeckit0dlibproj25
1libglgrib-egl-dev(*)libglgrib-egl0libeccodes0libeckit0d
1libglgrib-egl-dev(*)libglgrib-egl0libeccodes0libeckit0dlibproj25
1libglgrib-glfw-dev(*)libglgrib-glfw0libeccodes0libeckit0d
1libglgrib-glfw-dev(*)libglgrib-glfw0libeccodes0libeckit0dlibproj25
1python3-cfgrib(*)libeccodes0libeckit0d
1python3-cfgrib(*)libeccodes0libeckit0dlibproj25
1python3-eccodes(*)libeccodes-devlibeccodes0libeckit0d
1python3-eccodes(*)libeccodes-devlibeccodes0libeckit0dlibproj25
1python3-grib(*)libeccodes0libeckit0d
1ruby-grib(*)libeccodes-toolslibnetcdf22

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
1 1python3-ecmwflibs(*)libmagics++-devmagics++libeckit0dlibopenmpi40libpsm2-2(*)libeccodes0libeckit0dlibopenmpi40libpsm2-2 libpsm2-2:amd64
1 1python3-ecmwflibs(*)libeccodes0libeckit0dlibrados2(*)libmagics++-devmagics++libeckit0dlibrados2 librados2:armhf

generated: 20260601T000000Z


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.