Your message dated Sun, 08 Mar 2026 07:21:48 +0100
with message-id <177295090808.4004.1530631592872470382@localhost>
and subject line Re: Bug#1130055: sbuild is unable to cross-build linux on
amd64 for arm64 due to rust-src
has caused the Debian Bug report #1130055,
regarding sbuild is unable to cross-build linux on amd64 for arm64 due to
rust-src
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1130055: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1130055
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: sbuild
Version: 0.89.3+deb13u4
Not entirely clear if this is an issue with sbuild or with how linux is
specifying its dependencies, but I am unable to cross-build the current
unstable version (6.19.6-1) with sbuild due to an unmet dependency on rust-src.
rust-src is an architecture all package just containing the rust source code.
Linux specifies a dependency on it via:
Build-Depends-Arch: .... rust-src (>= 1.78.0) [amd64 arm64 armhf loong64
riscv64] <!pkg.linux.nokernel !pkg.linux.norust>...
I'm building using the following sbuild command (borrowed from the pocket
reform debian package build):
DEB_BUILD_PROFILES="cross nodoc pkg.linux.nokerneldbg
pkg.linux.nokerneldbginfo" sbuild --arch-any --build=amd64 --host=arm64
--arch-all --verbose --clean-source --no-source-only-changes --no-run-lintian
--no-run-autopkgtest
Each build fails with the following dose-check output:
output-version: 1.2
native-architecture: amd64
foreign-architecture: arm64
report:
-
package: sbuild-build-depends-main-dummy
version: 0.invalid.0
architecture: arm64
status: broken
reasons:
-
missing:
pkg:
package: sbuild-build-depends-main-dummy
version: 0.invalid.0
architecture: arm64
unsat-dependency: rust-src:arm64 (>= 1.78.0)
background-packages: 106988
foreground-packages: 1
total-packages: 106989
broken-packages: 1
Neither moving this dependency to Build-Depends-Indep nor removing the
architecture restrictions on it appear to resolve the issue. Changing the
dependency to rust-src:all or rust-src:native does not work either, nor does
changing the build dependency resolver to aptitude.
Disabling rust entirely with the build profile pkg.linux.norust solves my
immediate issue, but as rust is likely to be more widely used in the kernel in
the near future this workaround may soon become unworkable.
Thanks,
Jacob
--- End Message ---
--- Begin Message ---
Hi Jacob,
Quoting Jacob Adams (2026-03-08 01:21:50)
> Not entirely clear if this is an issue with sbuild or with how linux is
> specifying its dependencies, but I am unable to cross-build the current
> unstable version (6.19.6-1) with sbuild due to an unmet dependency on
> rust-src.
>
> rust-src is an architecture all package just containing the rust source code.
and importantly for this case: it is not Multi-Arch:foreign
> Linux specifies a dependency on it via:
>
> Build-Depends-Arch: .... rust-src (>= 1.78.0) [amd64 arm64 armhf loong64
> riscv64] <!pkg.linux.nokernel !pkg.linux.norust>...
>
> I'm building using the following sbuild command (borrowed from the pocket
> reform debian package build):
Oh a fellow Reform user! Hello! _o/
> DEB_BUILD_PROFILES="cross nodoc pkg.linux.nokerneldbg
> pkg.linux.nokerneldbginfo" sbuild --arch-any --build=amd64 --host=arm64
> --arch-all --verbose --clean-source --no-source-only-changes --no-run-lintian
> --no-run-autopkgtest
>
> Each build fails with the following dose-check output:
>
> [snip]
>
> Neither moving this dependency to Build-Depends-Indep
You should not do that. Build dependencies only belong into Build-Depends-Indep
if they are only required for building architecture independent packages. The
Linux kernel is not architecture independent.
> nor removing the architecture restrictions on it
These architecture restrictions only govern on which architectures that build
dependency is relevant. By removing it, rust-src will be considered on all
architectures and not only on amd64, arm64, armhf, loong64 and riscv64.
> appear to resolve the issue. Changing the dependency to rust-src:all
That's an illegal architecture qualification.
> or rust-src:native
That should've done something different though.
> does not work either, nor does changing the build dependency resolver to
> aptitude.
Yes, because aptitude respects the same dependency relationships.
> Disabling rust entirely with the build profile pkg.linux.norust solves my
> immediate issue, but as rust is likely to be more widely used in the kernel
> in the near future this workaround may soon become unworkable.
The problem here is not sbuild but either src:linux or src:rustc, depending on
where the correct fix is to be applied. Either src:linux marks its build
dependency on rust-src with :native or src:rustc marks rust-src as
Multi-Arch:foreign. Doing either will fix the cross building issue.
The former was attempted here:
https://salsa.debian.org/kernel-team/linux/-/merge_requests/1771
But that merge request was closed because the Rust team decided that it is
indeed the correct choice to mark rust-src as Multi-Arch:foreign:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101952
So you could either wait until rustc 1.92.0+dfsg1-1~exp1 or later lands in
unstable (it is currently in experimental) or you add rustc from experimental
to your build.
cross build issues are rarely problems with sbuild or apt. They usually are
issues in the involved packages and their inter-dependencies. If you don't know
where the problem is, you can post your issue to the list
[email protected] which is a mailing list for cross-building and
where people who can help you (including me) hang out.
Also consider checking out crossqa.debian.net which is a service which shows
you whether a package can currently be cross-built or not. In case of src:linux
you see the same issue as you have reported here:
https://crossqa.debian.net/src/linux
missing rust-src amd64 → {arm64, armhf, riscv64}; arm64 → amd64
In any case, this is not a problem with sbuild, so I'm closing this bug here.
Feel free to follow up if you have any remaining questions.
Thanks!
cheers, josch
signature.asc
Description: signature
--- End Message ---