Le mar. 19 sept. 2023 à 18:57, Sebert, Holger.ext <
holger.sebert....@karlstorz.com> a écrit :

> Hi Yoann, hi Zoran,
>

Hi,


> The bug is not present on the Poky master branch.
>
> Until the project is rebased onto the next release, I will simply disable
> CCache whenever I need to do a kernel menuconfig.
>

You peaked my curiosity and I've tracked down the fix on master : Your
problem is fixed by
https://git.yoctoproject.org/poky/commit/?id=d4664d2b7974354e73d891762ebb2c8a12d62438

I've requested a backport on mickledore :
https://lists.openembedded.org/g/openembedded-core/message/187934

Regards,


> Thanks!
>
> -Holger
>
> ________________________________________
> Von: Yoann CONGAL <yoann.con...@smile.fr>
> Gesendet: Donnerstag, 14. September 2023 23:52
> An: Sebert, Holger.ext
> Cc: Zoran Stojsavljevic; Yocto-mailing-list
> Betreff: [Ext] Re: [yocto] Poky/Mickledore bitbake menuconfig does not work
>
> Hi,
>
> Le jeu. 14 sept. 2023 à 14:10, Sebert, Holger.ext <
> holger.sebert....@karlstorz.com<mailto:holger.sebert....@karlstorz.com>>
> a écrit :
> Hi Zoran,
>
> I was able to reproduce the behavior described in my original post by
> enabling CCache. Here are the precise steps to reproduce:
>
> 1. Checkout Poky/Mickledore
> 2. Add the following to `build/conf/local.conf`:
>     INHERIT += "ccache"
> 3. Run `bitbake -c menuconfig virtual/kernel`
>
> The reason for the failure is that due to CCache the compiler is no longer
> `gcc` but `ccache gcc`, i.e. we have the following variables in the
> environment:
>
>     CC="ccache x86_64-poky-linux-gcc"
>     HOSTCC="ccache gcc"
>     ...
>     etc.
>
> This is when the wrong quoting in the invocation of `menuconfig` leads to
> errors.
>
> Could you please verify/check?
>
>
> I have reproduced this. It really looks like a bug!
>
> [...]
> On Mon, Aug 21, 2023 at 3:48 PM Sebert, Holger.ext
> <holger.sebert....@karlstorz.com<mailto:holger.sebert....@karlstorz.com>>
> wrote:
> >
> > Hi,
> >
> > I am using a Yocto-Poky-Mickledore (version 4.2.1) based system.
> >
> > For configuring the kernel, I would like to use the command
> >
> >     bitbake -c menuconfig virtual/kernel
> >
> > If I do that, Bitbake opens an xterm window and runs the build steps
> > for Kconfig. However, after the compiler has finised, the xterm window
> > immediately closes and Bitbake exists as if nothing happened, i.e. it
> > does not show any error message or similar.
> >
> > I investigated the problem and found out that, internally, Bitbake
> > calls the following command for starting Kconfig:
> >
> >     make menuconfig CC="ccache x86_64-system-linux-gcc ..." \
> >         CFLAGS="..." HOSTCC="ccache gcc" HOSTCCFLAGS="..."
> >
> > The quotes, however, seem to get lost when starting the actual command
> > in the terminal. This leads to a command line like follows:
> >
> >     make menuconfig CC=ccache x86_64-system-linux-gcc ... \
> >         CFLAGS=... HOSTCC="ccache gcc" HOSTCCFLAGS="...
> >
> > which is clearly wrong.
> >
> > The following patch fixes the problem in
> meta/classes-recipe/cml1.bbclass:
> >
> > diff --git a/meta/classes-recipe/cml1.bbclass
> b/meta/classes-recipe/cml1.bbclass
> > index a09a042c3f..d6001d6fd0 100644
> > --- a/meta/classes-recipe/cml1.bbclass
> > +++ b/meta/classes-recipe/cml1.bbclass
> > @@ -53,7 +53,8 @@ python do_menuconfig() {
> >      # ensure that environment variables are overwritten with this tasks
> 'd' values
> >      d.appendVar("OE_TERMINAL_EXPORTS", " PKG_CONFIG_DIR PKG_CONFIG_PATH
> PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR")
> >
> > -    oe_terminal("sh -c \"make %s; if [ \\$? -ne 0 ]; then echo 'Command
> failed.'; printf 'Press any key to continue... '; read r; fi\"" %
> d.getVar('KCONFIG_CONFIG_COMMAND'),
> > +    make_cmd = "make %s" %
> d.getVar('KCONFIG_CONFIG_COMMAND').replace('"', '\\"')
> > +    oe_terminal("sh -c \"%s; if [ \\$? -ne 0 ]; then echo 'Command
> failed.'; printf 'Press any key to continue... '; read r; fi\"" % make_cmd,
> >                  d.getVar('PN') + ' Configuration', d)
>
> This patch looks interesting!
> I would use shlex.join() to safely construct the command :
> https://docs.python.org/3/library/shlex.html#shlex.join<
> https://urldefense.com/v3/__https://docs.python.org/3/library/shlex.html*shlex.join__;Iw!!Lw1uGqvHvtJ_psGG2Et-1voSwbo!fQdtwGScMriVPQw2RO0unCFPxKM9NGX19bIH6mNdVfb77dZxiYZEkdNFiD5PZzVoxaOccilrT4L2I56P_pSw6FJuljKxeNTW$
> >
>
> > What do you think? Is my observed behavior a configuration error of my
> > setup or does the patch above indeed make sense?
>
> The patch makes sense to me.
>
> I guess your next steps are :
> * If you want to contribute your patch : reproduce the bug and rebase your
> patch on master and send it to the mailing list
> * Or, create a bug in https://bugzilla.yoctoproject.org/<
> https://urldefense.com/v3/__https://bugzilla.yoctoproject.org/__;!!Lw1uGqvHvtJ_psGG2Et-1voSwbo!fQdtwGScMriVPQw2RO0unCFPxKM9NGX19bIH6mNdVfb77dZxiYZEkdNFiD5PZzVoxaOccilrT4L2I56P_pSw6FJulqw2-PFV$
> >
>
> Best Regards,
>
> --
> Yoann Congal
> Smile ECS - Tech expert
>


-- 
Yoann Congal
Smile ECS - Tech expert
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#61053): https://lists.yoctoproject.org/g/yocto/message/61053
Mute This Topic: https://lists.yoctoproject.org/mt/100872991/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to