* [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled @ 2019-06-28 12:15 Robert Yang 2019-06-28 12:03 ` Robert Yang 2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang 0 siblings, 2 replies; 5+ messages in thread From: Robert Yang @ 2019-06-28 12:15 UTC (permalink / raw) To: openembedded-core The following changes since commit 9f674a88c781c7092d5b3460922a1579b9fe4bf9: busybox: Fix typo in syslog initscript (2019-06-27 13:27:54 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib rbt/dev http://git.pokylinux.org/cgit.cgi//log/?h=rbt/dev Robert Yang (1): devupstream.bbclass: Disable devupstream when multilib is enabled meta/classes/devupstream.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) -- 2.7.4 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled 2019-06-28 12:15 [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled Robert Yang @ 2019-06-28 12:03 ` Robert Yang 2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang 1 sibling, 0 replies; 5+ messages in thread From: Robert Yang @ 2019-06-28 12:03 UTC (permalink / raw) To: openembedded-core On 6/28/19 8:15 PM, Robert Yang wrote: > The following changes since commit 9f674a88c781c7092d5b3460922a1579b9fe4bf9: > > busybox: Fix typo in syslog initscript (2019-06-27 13:27:54 +0100) > > are available in the git repository at: > > git://git.pokylinux.org/poky-contrib rbt/dev > http://git.pokylinux.org/cgit.cgi//log/?h=rbt/dev Sorry, here should be oe-core, not poky: git://git.openembedded.org/openembedded-core-contrib rbt/dev http://cgit.openembedded.org//log/?h=rbt/dev // Robert > > Robert Yang (1): > devupstream.bbclass: Disable devupstream when multilib is enabled > > meta/classes/devupstream.bbclass | 6 ++++++ > 1 file changed, 6 insertions(+) > ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] devupstream.bbclass: Disable devupstream when multilib is enabled 2019-06-28 12:15 [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled Robert Yang 2019-06-28 12:03 ` Robert Yang @ 2019-06-28 12:15 ` Robert Yang 2019-06-30 8:04 ` Richard Purdie 1 sibling, 1 reply; 5+ messages in thread From: Robert Yang @ 2019-06-28 12:15 UTC (permalink / raw) To: openembedded-core Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" PREFERRED_VERSION_lttng-modules = "2.10.10+git%" $ bitbake world NOTE: preferred version 2.10.10+git% of lttng-modules not available (for item lib32-lttng-modules) NOTE: versions of lttng-modules available: 2.10.10 ERROR: Multiple versions of lttng-modules are due to be built (/path/to/lttng-modules_2.10.10.bb virtual:devupstream:target:/path/to/lttng-modules_2.10.10.bb). Only one version of a given PN should be built in any given build. You likely need to set PREFERRED_VERSION_lttng-modules to select the correct version or don't depend on multiple versions. This is because 2.10.10+git% will be built for non-multilib lttng-modules since the PREFERRED_VERSION is set, but this version doesn't provide lib32-lttng-modules, so 2.10.10 will be built, then the error happens. Bitbake can't extend an extended recipe, for example: virtual:multilib:lib32:virtual:devupstream:target Or in a reverse order: virtual:devupstream:target:virtual:multilib:lib32 So disable devupstream when multilib is enabled. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- meta/classes/devupstream.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/classes/devupstream.bbclass b/meta/classes/devupstream.bbclass index 7780c54..25403da 100644 --- a/meta/classes/devupstream.bbclass +++ b/meta/classes/devupstream.bbclass @@ -19,6 +19,12 @@ CLASSOVERRIDE .= ":class-devupstream" python devupstream_virtclass_handler () { + # bitbake can't extend an extended recipe, for example: + # virtual:multilib:lib32:virtual:devupstream:target + # So disable devupstream when multilib is enabled. + if d.getVar('MULTILIBS'): + raise bb.parse.SkipRecipe("Disable devupstream when multilib is enabled") + # Do nothing if this is inherited, as it's for BBCLASSEXTEND if "devupstream" not in (d.getVar('BBCLASSEXTEND') or ""): bb.error("Don't inherit devupstream, use BBCLASSEXTEND") -- 2.7.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] devupstream.bbclass: Disable devupstream when multilib is enabled 2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang @ 2019-06-30 8:04 ` Richard Purdie 2019-07-02 3:35 ` Robert Yang 0 siblings, 1 reply; 5+ messages in thread From: Richard Purdie @ 2019-06-30 8:04 UTC (permalink / raw) To: Robert Yang, openembedded-core On Fri, 2019-06-28 at 20:15 +0800, Robert Yang wrote: > Fixed: > MACHINE = "qemux86-64" > require conf/multilib.conf > MULTILIBS = "multilib:lib32" > DEFAULTTUNE_virtclass-multilib-lib32 = "x86" > > PREFERRED_VERSION_lttng-modules = "2.10.10+git%" > > $ bitbake world > > NOTE: preferred version 2.10.10+git% of lttng-modules not available > (for item lib32-lttng-modules) > NOTE: versions of lttng-modules available: 2.10.10 > ERROR: Multiple versions of lttng-modules are due to be built > (/path/to/lttng-modules_2.10.10.bb > virtual:devupstream:target:/path/to/lttng-modules_2.10.10.bb). Only > one version of a given PN should be built in any given build. You > likely need to set PREFERRED_VERSION_lttng-modules to select the > correct version or don't depend on multiple versions. > > This is because 2.10.10+git% will be built for non-multilib lttng- > modules since > the PREFERRED_VERSION is set, but this version doesn't provide > lib32-lttng-modules, so 2.10.10 will be built, then the error > happens. > > Bitbake can't extend an extended recipe, for example: > virtual:multilib:lib32:virtual:devupstream:target > > Or in a reverse order: > virtual:devupstream:target:virtual:multilib:lib32 > > So disable devupstream when multilib is enabled. > > Signed-off-by: Robert Yang <liezhi.yang@windriver.com> > --- > meta/classes/devupstream.bbclass | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/meta/classes/devupstream.bbclass > b/meta/classes/devupstream.bbclass > index 7780c54..25403da 100644 > --- a/meta/classes/devupstream.bbclass > +++ b/meta/classes/devupstream.bbclass > @@ -19,6 +19,12 @@ > CLASSOVERRIDE .= ":class-devupstream" > > python devupstream_virtclass_handler () { > + # bitbake can't extend an extended recipe, for example: > + # virtual:multilib:lib32:virtual:devupstream:target > + # So disable devupstream when multilib is enabled. > + if d.getVar('MULTILIBS'): > + raise bb.parse.SkipRecipe("Disable devupstream when multilib > is enabled") > + > # Do nothing if this is inherited, as it's for BBCLASSEXTEND > if "devupstream" not in (d.getVar('BBCLASSEXTEND') or ""): > bb.error("Don't inherit devupstream, use BBCLASSEXTEND") This is a bit of a serious problem with devupstream as it means we can't rely upon it for default recipes. We need to file a bug about this and find a way to fix it, perhaps teaching multilib about devupstream so it can set BBCLASSEXTEND accordingly. Cheers, Richard ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] devupstream.bbclass: Disable devupstream when multilib is enabled 2019-06-30 8:04 ` Richard Purdie @ 2019-07-02 3:35 ` Robert Yang 0 siblings, 0 replies; 5+ messages in thread From: Robert Yang @ 2019-07-02 3:35 UTC (permalink / raw) To: Richard Purdie, openembedded-core On 6/30/19 4:04 PM, Richard Purdie wrote: > On Fri, 2019-06-28 at 20:15 +0800, Robert Yang wrote: >> Fixed: >> MACHINE = "qemux86-64" >> require conf/multilib.conf >> MULTILIBS = "multilib:lib32" >> DEFAULTTUNE_virtclass-multilib-lib32 = "x86" >> >> PREFERRED_VERSION_lttng-modules = "2.10.10+git%" >> >> $ bitbake world >> >> NOTE: preferred version 2.10.10+git% of lttng-modules not available >> (for item lib32-lttng-modules) >> NOTE: versions of lttng-modules available: 2.10.10 >> ERROR: Multiple versions of lttng-modules are due to be built >> (/path/to/lttng-modules_2.10.10.bb >> virtual:devupstream:target:/path/to/lttng-modules_2.10.10.bb). Only >> one version of a given PN should be built in any given build. You >> likely need to set PREFERRED_VERSION_lttng-modules to select the >> correct version or don't depend on multiple versions. >> >> This is because 2.10.10+git% will be built for non-multilib lttng- >> modules since >> the PREFERRED_VERSION is set, but this version doesn't provide >> lib32-lttng-modules, so 2.10.10 will be built, then the error >> happens. >> >> Bitbake can't extend an extended recipe, for example: >> virtual:multilib:lib32:virtual:devupstream:target >> >> Or in a reverse order: >> virtual:devupstream:target:virtual:multilib:lib32 >> >> So disable devupstream when multilib is enabled. >> >> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> >> --- >> meta/classes/devupstream.bbclass | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/meta/classes/devupstream.bbclass >> b/meta/classes/devupstream.bbclass >> index 7780c54..25403da 100644 >> --- a/meta/classes/devupstream.bbclass >> +++ b/meta/classes/devupstream.bbclass >> @@ -19,6 +19,12 @@ >> CLASSOVERRIDE .= ":class-devupstream" >> >> python devupstream_virtclass_handler () { >> + # bitbake can't extend an extended recipe, for example: >> + # virtual:multilib:lib32:virtual:devupstream:target >> + # So disable devupstream when multilib is enabled. >> + if d.getVar('MULTILIBS'): >> + raise bb.parse.SkipRecipe("Disable devupstream when multilib >> is enabled") >> + >> # Do nothing if this is inherited, as it's for BBCLASSEXTEND >> if "devupstream" not in (d.getVar('BBCLASSEXTEND') or ""): >> bb.error("Don't inherit devupstream, use BBCLASSEXTEND") > > > This is a bit of a serious problem with devupstream as it means we > can't rely upon it for default recipes. We need to file a bug about > this and find a way to fix it, perhaps teaching multilib about > devupstream so it can set BBCLASSEXTEND accordingly. I filed a bug and assigned it you: https://bugzilla.yoctoproject.org/show_bug.cgi?id=13424 After more investigations, it seems that we should modify ast.py:multi_finalize(), although I file the bug in oe-core product. // Robert > > Cheers, > > Richard > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-07-02 3:34 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-06-28 12:15 [PATCH 0/1] devupstream.bbclass: Disable devupstream when multilib is enabled Robert Yang 2019-06-28 12:03 ` Robert Yang 2019-06-28 12:15 ` [PATCH 1/1] " Robert Yang 2019-06-30 8:04 ` Richard Purdie 2019-07-02 3:35 ` Robert Yang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox