Hi Felix, Quoting Moessbauer, Felix (2022-03-03 12:13:34) > the kernel header packages have a dependency to c/c++ compilers. E.g. the > "linux-headers-5.10.0-10-arm64" package depends on gcc-10:arm64 -> > cpp-10:arm64 (on bullseye). > > This becomes an issue when cross-compiling kernel modules for other target architectures: instead of "target" you probably mean "host" architecture. The GNU terminology is "host" for the architecture you build for and "target" for the architecture that the compiler you build compiles binaries for. Since you are not building a compiler you want to use either host or build architecture. The terminology is explained in the dpkg-architecture man page. > The linux-headers packages cannot be co-installed due to the not co-installable cpp-<x> packages. > > By that, cross-compilation of kernel modules for other Debian targets is currently not possible (at least without removing the hosts cpp infrastructure). > > What is the reason to depend on compilers here? > Wouldn't be a "recommends" relation be sufficient here? > An alternative might also be to depend via `:native`, but I did not check that yet. You cannot add :native to runtime dependencies. The :native qualifier only makes sense for build dependencies. See https://wiki.ubuntu.com/MultiarchCross You can find the answer to your question in this thread: https://lists.debian.org/BY5PR04MB67876A933A82670BD934DEB2E4C89@BY5PR04MB6787.namprd04.prod.outlook.com Essentially, linux-headers-* should depend on gcc-10-for-host:arm64 but that is blocked by us not having enough time to work on https://bugs.debian.org/666743 Fixing #666743 would be a major step forward in terms of making packages cross-compilable on Debian and derivatives, so if you want to improve the cross-building situation in Debian, then this is one of the big open tasks that would bring us immensely forward. Thanks! cheers, josch
Attachment:
signature.asc
Description: signature