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

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
33catch2:armhf

Conflict

# of packages per conflictConflict
61gcc-15:amd64
61gcc:amd64
60cpp:armhf
37libpsm2-2:amd64
15binutils-x86-64-linux-gnu:amd64
15binutils:armhf
15cpp-15: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
33 33src:chr src:dssp src:dynarmic src:fuzzylite src:giada src:gringo src:gsmartcontrol src:immer src:kallisto src:lager src:libbgcode src:libcifpp src:libmcfp src:libodsstream src:libpappsomspp src:libxpertmass src:netgen src:neuron src:newsboat src:nmodl src:nuspell src:posixsignalmanager src:purify src:qelectrotech src:rdkit src:restinio src:slic3r-prusa src:sopt src:termpaint src:therion src:trompeloeil-cpp src:tuiwidgets src:zug(*) catch2:armhf

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
61 60src:aevol src:ampliconnoise src:apbs src:cctools src:eckit src:ectrans src:examl src:exodusii src:ffindex src:fiat-ecmwf src:flann src:form src:garli src:genomicsdb src:gfsview src:gloo src:gpaw src:gridtools src:gromacs src:gtg-trace src:h5py src:hpcc src:hyphy src:iqtree src:lammps (1108103) src:liggghts src:lrslib src:mathgl src:mfem src:molds src:mpi4py src:mpi4py-fft src:mrbayes src:murasaki src:music src:netgen src:neuron src:openfoam src:otf src:phyml src:pnetcdf src:pysph src:python-escript src:pytorch src:pyzoltan src:ray src:relion src:rmpi src:rocalution src:ruby-mpi src:scifem src:silo-llnl src:sopt src:spfft src:spooles src:stopt src:tree-puzzle src:ucx src:valgrind src:vtk9(*)build-essentialgccgcc-15(*)mpi-default-devlibopenmpi-devgfortran-15gcc-15 gcc-15:amd64
1src:purify(*)build-essentialgccgcc-15(*)libsopt-devmpi-default-devlibopenmpi-devgfortran-15gcc-15
61 60src:aevol src:ampliconnoise src:apbs src:cctools src:eckit src:ectrans src:examl src:exodusii src:ffindex src:fiat-ecmwf src:flann src:form src:garli src:genomicsdb src:gfsview src:gloo src:gpaw src:gridtools src:gromacs src:gtg-trace src:h5py src:hpcc src:hyphy src:iqtree src:lammps (1108103) src:liggghts src:lrslib src:mathgl src:mfem src:molds src:mpi4py src:mpi4py-fft src:mrbayes src:murasaki src:music src:netgen src:neuron src:openfoam src:otf src:phyml src:pnetcdf src:pysph src:python-escript src:pytorch src:pyzoltan src:ray src:relion src:rmpi src:rocalution src:ruby-mpi src:scifem src:silo-llnl src:sopt src:spfft src:spooles src:stopt src:tree-puzzle src:ucx src:valgrind src:vtk9(*)build-essentialgcc(*)mpi-default-devlibopenmpi-devgfortrangcc gcc:amd64
1src:purify(*)build-essentialgcc(*)libsopt-devmpi-default-devlibopenmpi-devgfortrangcc
60 59src:aevol src:ampliconnoise src:apbs src:cctools src:eckit src:ectrans src:examl src:exodusii src:ffindex src:fiat-ecmwf src:flann src:form src:garli src:genomicsdb src:gfsview src:gloo src:gpaw src:gridtools src:gromacs src:gtg-trace src:h5py src:hpcc src:hyphy src:iqtree src:lammps (1108103) src:liggghts src:lrslib src:mathgl src:mfem src:molds src:mpi4py src:mpi4py-fft src:mrbayes src:murasaki src:music src:neuron src:openfoam src:otf src:phyml src:pnetcdf src:pysph src:python-escript src:pytorch src:pyzoltan src:ray src:relion src:rmpi src:rocalution src:ruby-mpi src:scifem src:silo-llnl src:sopt src:spfft src:spooles src:stopt src:tree-puzzle src:ucx src:valgrind src:vtk9(*)mpi-default-devlibopenmpi-devgfortrancpp(*)build-essentialgcccpp cpp:armhf
1src:purify(*)libsopt-devmpi-default-devlibopenmpi-devgfortrancpp(*)build-essentialgcccpp
37 36src:abinit src:apbs src:arpack src:boost1.83 src:boost1.88 src:cctools src:cp2k src:deal.ii src:elpa src:espresso src:fenicsx-performance-tests src:fftw src:fftw3 (1107055) src:fiat-ecmwf src:ga src:genomicsdb src:gerris src:gridtools src:gyoto src:h5z-zfp src:hdf5 src:libmbd src:mpb src:mumps src:murasaki src:neuron src:oasis3 src:open-coarrays src:palabos (ITA: #944878) src:papi src:pnetcdf src:pytorch src:scilab src:sopt src:starpu src:tachyon(*)mpi-default-devlibopenmpi-devopenmpi-binlibopenmpi40libpsm2-2(*)mpi-default-devlibopenmpi-devlibopenmpi40libpsm2-2 libpsm2-2:amd64
1src:purify(*)libsopt-devmpi-default-devlibopenmpi-devopenmpi-binlibopenmpi40libpsm2-2(*)libsopt-devlibsopt5.0libopenmpi40libpsm2-2
15 14src:apbs src:ffindex src:gfsview src:lammps (1108103) src:liggghts src:lrslib src:mathgl src:mfem src:music src:netgen src:sopt src:spooles src:stopt src:vtk9(*)dpkg-devbinutilsbinutils-x86-64-linux-gnu(*)mpi-default-devlibopenmpi-devgfortran-15gcc-15binutilsbinutils-x86-64-linux-gnu binutils-x86-64-linux-gnu:amd64
1src:purify(*)debhelperdpkg-devbinutilsbinutils-x86-64-linux-gnu(*)libsopt-devmpi-default-devlibopenmpi-devgfortran-15gcc-15binutilsbinutils-x86-64-linux-gnu
15 14src:apbs src:ffindex src:gfsview src:lammps (1108103) src:liggghts src:lrslib src:mathgl src:mfem src:music src:netgen src:sopt src:spooles src:stopt src:vtk9(*)mpi-default-devlibopenmpi-devgfortran-15gcc-15binutils(*)dpkg-devbinutils binutils:armhf
1src:purify(*)libsopt-devmpi-default-devlibopenmpi-devgfortran-15gcc-15binutils(*)debhelperdpkg-devbinutils
15 14src:apbs src:ffindex src:gfsview src:h5py src:lammps (1108103) src:liggghts src:lrslib src:mathgl src:mfem src:music src:sopt src:spooles src:stopt src:vtk9(*)build-essentialgcccppcpp-15(*)mpi-default-devlibopenmpi-devgfortrancppcpp-15 cpp-15:amd64
1src:purify(*)build-essentialgcccppcpp-15(*)libsopt-devmpi-default-devlibopenmpi-devgfortran-15gcc-15cpp-15

generated: 20251201T000000Z


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.