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] -=-=-=-=-=-=-=-=-=-=-=-