On Tue, Aug 20, 2019 at 04:23:47PM +0200, Alexander Dahl wrote:
> while upgrading different BSPs to kernel v5.2.x I came accross a special
> build
> error. Affected is the kernel.compile stage. This happens with different
> ptxdist versions (tested with 2018.05.0, 2019.01.0, 2019.07.0, 2019.08.0) and
> at least with kernel v5.1 and v5.2 (IIRC kernels at least up to v4.19 were
> not
> affected) and CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC set (as in DistroKit
> master).
>
> We use icecc here, my host system is still Debian GNU/Linux 9 (stretch) with
> icecc version 1.0.1. If one of those three things is not present, this build
> error does not occur: kernel, icecc, that config option. I could reproduce
> this with a recent DistroKit BSP and kernels v5.1 and v5.2. Like this:
>
> * checkout recent distrokit
> * select platform v7a
> * activate icecc (ptxdist setup)
> * `ptxdist compile kernel`
>
> At least the first build run fails, later runs might succeed at random.
> Output
> is like this:
>
>
> --
> target: kernel.compile
> --
>
> make[1]: Entering directory '/home/adahl/Work/bsp/isNet_Lite_phoenix-contact/
> platform-pc/build-target/linux-5.2.9'
> CALLscripts/checksyscalls.sh
> CALLscripts/atomic/check-atomics.sh
> CHK include/generated/compile.h
> CC kernel/configs.o
> {standard input}: Assembler messages:
> {standard input}:136: Error: file not found: kernel/config_data.gz
> ICECC[21465] 16:13:52: Compiled on 192.168.10.72
> scripts/Makefile.build:278: recipe for target 'kernel/configs.o' failed
> make[2]: *** [kernel/configs.o] Error 1
> Makefile:1073: recipe for target 'kernel' failed
> make[1]: *** [kernel] Error 2
>
>
> Or this (with `ptxdist -q go`):
>
>
> {standard input}: Assembler messages:
> {standard input}:136: Error: file not found: kernel/config_data.gz
> ICECC[27588] 16:19:30: Compiled on 192.168.10.70
> make[2]: *** [kernel/configs.o] Error 1
> make[2]: *** Waiting for unfinished jobs
> make[1]: *** [kernel] Error 2
> make[1]: *** Waiting for unfinished jobs
> make: *** [/home/adahl/Work/bsp/isNet_Lite_phoenix-contact/platform-pc/state/
> kernel.compile] Error 2
> make: *** Waiting for unfinished jobs
>
>
> The remote build node which fails is not always the same. To build this
> kernel
> make target 'gzip' is needed, which according to my colleague is installed on
> those build nodes failing.
>
> Build succeeds if I turn off icecc _or_ deactivate that kernel config option
> _or_ go back to v4.19. Currently I'm opting for second, but I'm not amused.
>
> Any help and hints appreciated!
It's a known issue. This is a icecc bug. The problem is, the code contains
a 'incbin' in assembler code. This means that kernel/config_data.gz is
needed on the icecc client, and that's not possible.
This is fixed upstream: https://github.com/icecc/icecream/pull/463
But I don't think this is part of any release.
The only local fix ist to disable icecc for the kernel entirely:
KERNEL_MAKE_ENV := PTXDIST_ICECC=
Michael
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- |
___
ptxdist mailing list
ptxdist@pengutronix.de