diff mbox series

mx9: Correct repeatable build error

Message ID 20240702153739.2651815-1-sjg@chromium.org
State Rejected
Delegated to: Fabio Estevam
Headers show
Series mx9: Correct repeatable build error | expand

Commit Message

Simon Glass July 2, 2024, 3:37 p.m. UTC
For some reason every second time imx93_11x11_evk is built it gives an
error:

   make O=/tmp/x BINMAN_ALLOW_MISSING=1

It seems to sometimes skip generation of the .cfgout file and then
eventually Binman complains:

   ValueError: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n
      spl/u-boot-spl.cfgout -T imx8image -e 0x2049A000
      ./mkimage-out.spl.mkimage': Fail open first container file
      mx93a1-ahab-container.img

Correct this by using if_changed instead of if_changed_dep

The only reason this hasn't come up in CI is that buildman did not retry
failing builds of current source, but now it does.

Note: The logic in this Makefile should be moved to Binman, e.g. these
warnings duplicate Binman functionality:

  WARNING 'bl31.bin' not found, resulting binary may be not-functional
  WARNING 'tee.bin' not found, resulting binary may be not-functional

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/arm/mach-imx/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peng Fan July 3, 2024, 12:34 a.m. UTC | #1
> Subject: [PATCH] mx9: Correct repeatable build error
> 
> For some reason every second time imx93_11x11_evk is built it gives
> an
> error:
> 
>    make O=/tmp/x BINMAN_ALLOW_MISSING=1
> 
> It seems to sometimes skip generation of the .cfgout file and then
> eventually Binman complains:
> 
>    ValueError: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n
>       spl/u-boot-spl.cfgout -T imx8image -e 0x2049A000
>       ./mkimage-out.spl.mkimage': Fail open first container file
>       mx93a1-ahab-container.img
> 
> Correct this by using if_changed instead of if_changed_dep
> 
> The only reason this hasn't come up in CI is that buildman did not retry
> failing builds of current source, but now it does.
> 
> Note: The logic in this Makefile should be moved to Binman, e.g. these
> warnings duplicate Binman functionality:
> 
>   WARNING 'bl31.bin' not found, resulting binary may be not-functional
>   WARNING 'tee.bin' not found, resulting binary may be not-functional
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Fabio Estevam July 6, 2024, 8:54 p.m. UTC | #2
On Tue, Jul 2, 2024 at 12:38 PM Simon Glass <sjg@chromium.org> wrote:
>
> For some reason every second time imx93_11x11_evk is built it gives an
> error:
>
>    make O=/tmp/x BINMAN_ALLOW_MISSING=1
>
> It seems to sometimes skip generation of the .cfgout file and then
> eventually Binman complains:
>
>    ValueError: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n
>       spl/u-boot-spl.cfgout -T imx8image -e 0x2049A000
>       ./mkimage-out.spl.mkimage': Fail open first container file
>       mx93a1-ahab-container.img
>
> Correct this by using if_changed instead of if_changed_dep
>
> The only reason this hasn't come up in CI is that buildman did not retry
> failing builds of current source, but now it does.
>
> Note: The logic in this Makefile should be moved to Binman, e.g. these
> warnings duplicate Binman functionality:
>
>   WARNING 'bl31.bin' not found, resulting binary may be not-functional
>   WARNING 'tee.bin' not found, resulting binary may be not-functional
>
> Signed-off-by: Simon Glass <sjg@chromium.org>

This breaks imx93_11x11_evk_defconfig:

  BINMAN  .binman_stamp
Wrote map file './spl.map' to show errors
binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n
spl/u-boot-spl.cfgout -T imx8image -e 0x2049A000
./mkimage-out.spl.mkimage': Error: spl/u-boot-spl.cfgout - Can't open
cfg file

make: *** [Makefile:1126: .binman_stamp] Error 1
diff mbox series

Patch

diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index ef0caed3f7f..640e332e78b 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -227,7 +227,7 @@  flash.bin: MKIMAGEOUTPUT = flash.log
 
 spl/u-boot-spl.cfgout: $(IMX_CONFIG) FORCE
 	$(Q)mkdir -p $(dir $@)
-	$(call if_changed_dep,cpp_cfg)
+	$(call if_changed_,cpp_cfg)
 	$(call if_changed,imx9_check)
 
 spl/u-boot-spl-ddr.bin: spl/u-boot-spl.bin spl/u-boot-spl.cfgout FORCE