On Wed, Oct 23, 2024 at 03:16:58AM +0900 Masahiro Yamada wrote: > Since commit f1d87664b82a ("kbuild: cross-compile linux-headers package > when possible"), 'make bindeb-pkg' may attempt to cross-compile the > linux-headers package, but it fails under certain circumstances. > > For example, when CONFIG_MODULE_SIG_FORMAT is enabled on Debian, the > following command fails: > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bindeb-pkg > [ snip ] > Rebuilding host programs with aarch64-linux-gnu-gcc... > HOSTCC debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/kallsyms > HOSTCC debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/sorttable > HOSTCC debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/asn1_compiler > HOSTCC debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/sign-file > In file included from /usr/include/openssl/opensslv.h:109, > from debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/sign-file.c:25: > /usr/include/openssl/macros.h:14:10: fatal error: openssl/opensslconf.h: No such file or directory > 14 | #include <openssl/opensslconf.h> > | ^~~~~~~~~~~~~~~~~~~~~~~ > compilation terminated. > > This commit adds a new profile, pkg.linux-upstream.nokernelheaders, to > guard the linux-headers package. > > There are two options to fix the above issue. > > [option 1] Set the pkg.linux-upstream.nokernelheaders build profile > > $ DEB_BUILD_PROFILES=pkg.linux-upstream.nokernelheaders \ > make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bindeb-pkg > > This skips the building of the linux-headers package. > > [option 2] Install the necessary build dependencies > > If you want to cross-compile the linux-headers package, you need to > install additional packages. This is a one-time installation step. > > For example, on Debian, the packages necessary for cross-compiling it > to arm64 can be installed with the following commands: > > # dpkg --add-architecture arm64 > # apt update > # apt install gcc-aarch64-linux-gnu libssl-dev:arm64 > > Fixes: f1d87664b82a ("kbuild: cross-compile linux-headers package when possible") > Reported-by: Ron Economos <re@xxxxxxxx> > Closes: https://lore.kernel.org/all/b3d4f49e-7ddb-29ba-0967-689232329b53@xxxxxxxx/ > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > scripts/package/builddeb | 2 +- > scripts/package/install-extmod-build | 6 ++---- > scripts/package/mkdebian | 9 ++++++++- > 3 files changed, 11 insertions(+), 6 deletions(-) Nice solution and thanks for also documenting option 2. Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>