diff mbox series

[8/8] linux-yocto: add gzip-native to DEPENDS

Message ID f3349fa06ed7e549e1ae15ac3e18ef779d34f8b8.1693924532.git.bruce.ashfield@gmail.com
State New
Headers show
Series [1/8] linux-yocto/6.4: fix CONFIG_F2FS_IO_TRACE configuration warning | expand

Commit Message

Bruce Ashfield Sept. 5, 2023, 2:37 p.m. UTC
From: Bruce Ashfield <bruce.ashfield@gmail.com>

When building a compressed kernel image on a host with an older
gzip, the following error can occur:

  ERROR: linux-yocto-6.4.11+git-r0 do_compile: oe_runmake failed
  ERROR: linux-yocto-6.4.11+git-r0 do_compile: ExecutionError('tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/run.do_compile.1715845', 1, None, None)
  ERROR: Logfile of failure stored in: tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/log.do_compile.1715845
  Log data follows:
  | DEBUG: Executing shell function do_compile
  | NOTE: KBUILD_BUILD_TIMESTAMP: Mon Aug 21 15:35:20 UTC 2023
  | NOTE: make -j 24 CC=x86_64-poky-linux-gcc  -fuse-ld=bfd -fcanon-prefix-map -fmacro-prefix-map=tmp/work-shared/qemux86-64/kernel-source=/usr/src/debug/linux-yocto/6.4.11+git-r0 -fdebug-prefix-map=tmp/work-shared/qemux86e
  |   GEN     Makefile
  |   DESCEND objtool
  |   CALL tmp/work-shared/qemux86-64/kernel-source/scripts/checksyscalls.sh
  | make[3]: 'install_headers' is up to date.
  |   GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
  | gzip: abort: zlib version less than 1.2.3

We can't juse depend on zlib-native, as gzip isn't built by the
kernel as a tool, so we add gzip-native to our DEPENDS and the
issue is resolved.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 meta/recipes-kernel/linux/linux-yocto.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Purdie Sept. 5, 2023, 3:01 p.m. UTC | #1
On Tue, 2023-09-05 at 10:37 -0400, bruce.ashfield@gmail.com wrote:
> From: Bruce Ashfield <bruce.ashfield@gmail.com>
> 
> When building a compressed kernel image on a host with an older
> gzip, the following error can occur:
> 
>   ERROR: linux-yocto-6.4.11+git-r0 do_compile: oe_runmake failed
>   ERROR: linux-yocto-6.4.11+git-r0 do_compile: ExecutionError('tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/run.do_compile.1715845', 1, None, None)
>   ERROR: Logfile of failure stored in: tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/log.do_compile.1715845
>   Log data follows:
>   | DEBUG: Executing shell function do_compile
>   | NOTE: KBUILD_BUILD_TIMESTAMP: Mon Aug 21 15:35:20 UTC 2023
>   | NOTE: make -j 24 CC=x86_64-poky-linux-gcc  -fuse-ld=bfd -fcanon-prefix-map -fmacro-prefix-map=tmp/work-shared/qemux86-64/kernel-source=/usr/src/debug/linux-yocto/6.4.11+git-r0 -fdebug-prefix-map=tmp/work-shared/qemux86e
>   |   GEN     Makefile
>   |   DESCEND objtool
>   |   CALL tmp/work-shared/qemux86-64/kernel-source/scripts/checksyscalls.sh
>   | make[3]: 'install_headers' is up to date.
>   |   GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
>   | gzip: abort: zlib version less than 1.2.3
> 
> We can't juse depend on zlib-native, as gzip isn't built by the
> kernel as a tool, so we add gzip-native to our DEPENDS and the
> issue is resolved.
> 
> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> ---
>  meta/recipes-kernel/linux/linux-yocto.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
> index 0cc303c009..945e7bb9d3 100644
> --- a/meta/recipes-kernel/linux/linux-yocto.inc
> +++ b/meta/recipes-kernel/linux/linux-yocto.inc
> @@ -18,7 +18,7 @@ python () {
>          raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to %s to enable it" % (d.getVar("PN")))
>  }
>  
> -DEPENDS += "xz-native bc-native"
> +DEPENDS += "xz-native bc-native gzip-native"
>  DEPENDS:append:aarch64 = " libgcc"
>  KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
>  KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"

I'm not entirely convinced this was the issue as I saw this myself
locally. A "bitbake virtual/kernel -c clean" made it go away so it was
more that the version of libz in the sysroot changed and an existing
kernel build didn't notice...

Cheers,

Richard
Bruce Ashfield Sept. 5, 2023, 3:02 p.m. UTC | #2
On Tue, Sep 5, 2023 at 11:01 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Tue, 2023-09-05 at 10:37 -0400, bruce.ashfield@gmail.com wrote:
> > From: Bruce Ashfield <bruce.ashfield@gmail.com>
> >
> > When building a compressed kernel image on a host with an older
> > gzip, the following error can occur:
> >
> >   ERROR: linux-yocto-6.4.11+git-r0 do_compile: oe_runmake failed
> >   ERROR: linux-yocto-6.4.11+git-r0 do_compile: ExecutionError('tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/run.do_compile.1715845', 1, None, None)
> >   ERROR: Logfile of failure stored in: tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/log.do_compile.1715845
> >   Log data follows:
> >   | DEBUG: Executing shell function do_compile
> >   | NOTE: KBUILD_BUILD_TIMESTAMP: Mon Aug 21 15:35:20 UTC 2023
> >   | NOTE: make -j 24 CC=x86_64-poky-linux-gcc  -fuse-ld=bfd -fcanon-prefix-map -fmacro-prefix-map=tmp/work-shared/qemux86-64/kernel-source=/usr/src/debug/linux-yocto/6.4.11+git-r0 -fdebug-prefix-map=tmp/work-shared/qemux86e
> >   |   GEN     Makefile
> >   |   DESCEND objtool
> >   |   CALL tmp/work-shared/qemux86-64/kernel-source/scripts/checksyscalls.sh
> >   | make[3]: 'install_headers' is up to date.
> >   |   GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
> >   | gzip: abort: zlib version less than 1.2.3
> >
> > We can't juse depend on zlib-native, as gzip isn't built by the
> > kernel as a tool, so we add gzip-native to our DEPENDS and the
> > issue is resolved.
> >
> > Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> > ---
> >  meta/recipes-kernel/linux/linux-yocto.inc | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
> > index 0cc303c009..945e7bb9d3 100644
> > --- a/meta/recipes-kernel/linux/linux-yocto.inc
> > +++ b/meta/recipes-kernel/linux/linux-yocto.inc
> > @@ -18,7 +18,7 @@ python () {
> >          raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to %s to enable it" % (d.getVar("PN")))
> >  }
> >
> > -DEPENDS += "xz-native bc-native"
> > +DEPENDS += "xz-native bc-native gzip-native"
> >  DEPENDS:append:aarch64 = " libgcc"
> >  KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
> >  KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
>
> I'm not entirely convinced this was the issue as I saw this myself
> locally. A "bitbake virtual/kernel -c clean" made it go away so it was
> more that the version of libz in the sysroot changed and an existing
> kernel build didn't notice...
>

multiple cleans of the kernel didn't fix it for me (including a
cleanall), as well as adding zlib-native (didn't help).

Only this got the kernel building for me.

Bruce

> Cheers,
>
> Richard
>
Bruce Ashfield Sept. 5, 2023, 3:07 p.m. UTC | #3
On Tue, Sep 5, 2023 at 11:02 AM Bruce Ashfield via
lists.openembedded.org
<bruce.ashfield=gmail.com@lists.openembedded.org> wrote:
>
> On Tue, Sep 5, 2023 at 11:01 AM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> >
> > On Tue, 2023-09-05 at 10:37 -0400, bruce.ashfield@gmail.com wrote:
> > > From: Bruce Ashfield <bruce.ashfield@gmail.com>
> > >
> > > When building a compressed kernel image on a host with an older
> > > gzip, the following error can occur:
> > >
> > >   ERROR: linux-yocto-6.4.11+git-r0 do_compile: oe_runmake failed
> > >   ERROR: linux-yocto-6.4.11+git-r0 do_compile: ExecutionError('tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/run.do_compile.1715845', 1, None, None)
> > >   ERROR: Logfile of failure stored in: tmp/work/qemux86_64-poky-linux/linux-yocto/6.4.11+git/temp/log.do_compile.1715845
> > >   Log data follows:
> > >   | DEBUG: Executing shell function do_compile
> > >   | NOTE: KBUILD_BUILD_TIMESTAMP: Mon Aug 21 15:35:20 UTC 2023
> > >   | NOTE: make -j 24 CC=x86_64-poky-linux-gcc  -fuse-ld=bfd -fcanon-prefix-map -fmacro-prefix-map=tmp/work-shared/qemux86-64/kernel-source=/usr/src/debug/linux-yocto/6.4.11+git-r0 -fdebug-prefix-map=tmp/work-shared/qemux86e
> > >   |   GEN     Makefile
> > >   |   DESCEND objtool
> > >   |   CALL tmp/work-shared/qemux86-64/kernel-source/scripts/checksyscalls.sh
> > >   | make[3]: 'install_headers' is up to date.
> > >   |   GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
> > >   | gzip: abort: zlib version less than 1.2.3
> > >
> > > We can't juse depend on zlib-native, as gzip isn't built by the
> > > kernel as a tool, so we add gzip-native to our DEPENDS and the
> > > issue is resolved.
> > >
> > > Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> > > ---
> > >  meta/recipes-kernel/linux/linux-yocto.inc | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
> > > index 0cc303c009..945e7bb9d3 100644
> > > --- a/meta/recipes-kernel/linux/linux-yocto.inc
> > > +++ b/meta/recipes-kernel/linux/linux-yocto.inc
> > > @@ -18,7 +18,7 @@ python () {
> > >          raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to %s to enable it" % (d.getVar("PN")))
> > >  }
> > >
> > > -DEPENDS += "xz-native bc-native"
> > > +DEPENDS += "xz-native bc-native gzip-native"
> > >  DEPENDS:append:aarch64 = " libgcc"
> > >  KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
> > >  KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
> >
> > I'm not entirely convinced this was the issue as I saw this myself
> > locally. A "bitbake virtual/kernel -c clean" made it go away so it was
> > more that the version of libz in the sysroot changed and an existing
> > kernel build didn't notice...
> >
>
> multiple cleans of the kernel didn't fix it for me (including a
> cleanall), as well as adding zlib-native (didn't help).
>
> Only this got the kernel building for me.

That being said, the sysroot and zlib do make a lot of sense.

Ignore this patch, and I'll carry it locally for a while and see if
the problem pops up on the same builder again.

Bruce

>
> Bruce
>
> > Cheers,
> >
> > Richard
> >
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#187227): https://lists.openembedded.org/g/openembedded-core/message/187227
> Mute This Topic: https://lists.openembedded.org/mt/101170561/1050810
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
index 0cc303c009..945e7bb9d3 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -18,7 +18,7 @@  python () {
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to %s to enable it" % (d.getVar("PN")))
 }
 
-DEPENDS += "xz-native bc-native"
+DEPENDS += "xz-native bc-native gzip-native"
 DEPENDS:append:aarch64 = " libgcc"
 KERNEL_CC:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"
 KERNEL_LD:append:aarch64 = " ${TOOLCHAIN_OPTIONS}"