[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1119344: sbuild fails to resolve and install cross build-dependencies



Control: severity -1 normal

On Wed, Oct 29, 2025 at 03:27:19PM +0000, Benedikt Niedermayr wrote:
> I'm not sure if I understand the implications here correctly, but
> doesn't that mean that the installation of packages in the DEB_HOST_ARCH
> doesn't work anymore?

The purpose of the barbarian setting is to prevent the installation of
host architecture packages marked Multi-Arch: foreign.  Other packages
can still be installed.

> When running sbuild in a cross-build scenario (chroot in DEB_BUILD_ARCH
> compiling a package for DEB_HOST_ARCH) the package build fails as soon
> as the apt resolver tries to install a Build-Dependency from the foreign 
> architecture (e.g. foo:arm64).
> 
> A error log as example can be found on the isar mailing list [2].

It would have been nice to have a more complete log than the short
excerpt.

In any case, I can reproduce the issue in a more standard setting. Using
trixie's sbuild and a bookworm chroot, attempting to build hostname
gives:

| E: Unable to locate package sbuild-build-depends-main-dummy
| apt-get failed.

To me, this is the important piece. As is evident from
Sbuild/ResolverBase.pm, the dummy package quite definitely is not
M-A:foreign, but it also is a host architecture package. It might be
that apt refuses to use the host sbuild-build-depends-main-dummy for
satisfying the bare package name (which implicitly is build).

If I change Sbuild/AptResolver.pm to arch qualify the $dummy_pkg_name
(in the line defining @apt_args in sub install_deps), then building for
bookworm works again. Is there any downside to always including the host
architecture there?

Helmut


Reply to: