[yocto] populate_sdk and external toolchain

Eduard Bloch edi at gmx.de
Sun Jan 25 02:29:05 PST 2015


Hallo Yocto World,

I am having trouble with latest dora and the populate_sdk target. This
problem does not affect the stock configuration but because of some
specific features I need to use a custom toolchain from the board vendor
(made for Yocto 1.5) which is enabled with TCMODE. It contains the
compiler/binutils components and glibc but no locales.

The symptoms: it apparently tries to build the internal toolchain while
it shouldn't and fails on resulting conflicts.

It's very similar to the problem repoted for OE a couple of years ago
(quoted below, or see http://patches.openembedded.org/patch/33105/) so I
tried to add the modifications from there and from
https://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg25653.html
and it didn't help at all. I couldn't spot a bug in the toolchain recipe
either, checked against
http://elinux.org/images/c/c8/ExternalToolchainsInYocto.pdf .

Does anyone have a good idea how to tackle this?

Thanks,
Eduard.

ERROR: Multiple .bb files are due to be built which each provide virtual/libc (.../soc-extra/meta-smi/recipes-core/meta/external-smi-toolchain.bb
.../smily/poky/meta/recipes-core/eglibc/eglibc_2.18.bb).

This usually means one provides something the other doesn't and should.

ERROR: Multiple .bb files are due to be built which each provide virtual/arm-cortex_a15-linux-gnueabi-compilerlibs
(.../soc-extra/meta-smi/recipes-core/meta/external-smi-toolchain.bb .../smily/poky/meta/recipes-devtools/gcc/gcc-runtime_4.8.bb).

This usually means one provides something the other doesn't and should.

ERROR: Multiple .bb files are due to be built which each provide eglibc (.../soc-extra/meta-smi/recipes-core/meta/external-smi-toolchain.bb
.../smily/poky/meta/recipes-core/eglibc/eglibc_2.18.bb).

This usually means one provides something the other doesn't and should.

ERROR: Multiple .bb files are due to be built which each provide virtual/arm-cortex_a15-linux-gnueabi-libc-for-gcc
(.../soc-extra/meta-smi/recipes-core/meta/external-smi-toolchain.bb .../smily/poky/meta/recipes-core/eglibc/eglibc_2.18.bb).

This usually means one provides something the other doesn't and should.

ERROR: Multiple .bb files are due to be built which each provide virtual/libiconv (.../soc-extra/meta-smi/recipes-core/meta/external-smi-toolchain.bb
.../smily/poky/meta/recipes-core/eglibc/eglibc_2.18.bb).

This usually means one provides something the other doesn't and should.


* Matthieu CRAPET [Thu, Jul 26 2012, 09:14:52AM]:
> Greetings,
> 
> Updated recently my oe-core and faced an unwanted side effect.
> You need to know that I'm using an externel (linaro) toolchain (my
> .bb/.inc are a clone of "sourcery" toolchain example).
> My toolchain is compiled against a custom (external) eglibc 2.15.
> 
> Since commit a0de2a56f19ae4d8cd88e46e96917a7a019fe1ab --
> image.bbclass: Add support to build the SDK in parallel with the image
> http://cgit.openembedded.org/openembedded-core/commit/?id=a0de2a56f19ae4
> d8cd88e46e96917a7a019fe1ab
> 
> my images generation are failing because it tries to compile eglib 2.16
> and do_configure fails. I have also 3 errors:
> ERROR: Multiple .bb files are due to be built which each provide
> virtual/libc (.../meta/recipes-core/eglibc/eglibc_2.15.bb
> .../meta-ingenico/recipes/external-linaro-toolchain/external-linaro-tool
> chain.bb).
>  This usually means one provides something the other doesn't and should.
> ERROR: Multiple .bb files are due to be built which each provide
> virtual/arm-ingenico-linux-gnueabi-libc-for-gcc
> (.../meta/recipes-core/eglibc/eglibc_2.15.bb
> .../meta-ingenico/recipes/external-linaro-toolchain/external-linaro-tool
> chain.bb).
>  This usually means one provides something the other doesn't and should.
> ERROR: Multiple .bb files are due to be built which each provide
> virtual/libiconv (.../meta/recipes-core/eglibc/eglibc_2.15.bb
> .../meta-ingenico/recipes/external-linaro-toolchain/external-linaro-tool
> chain.bb).
>  This usually means one provides something the other doesn't and should.
> 
> Notice that "PREFERRED_PROVIDER"s are correctly defined (like in
> distro/include/tcmode-external-sourcery.inc). And I use bitbake 1.15.3.
> 
> For now I fixed it crudely, because I don't need SDK.
> 
>  toolchain_create_sdk_siteconfig () {
> ---
> 
> populate_sdk_base.bbclass inheric toolchain-scripts which adds the
> (unwanted) eglibc dependency.
> Maybe this should be conditional from TOOLCHAIN_TARGET_TASK value?  Or
> dependencies should be added only when calling
> task-core-standalone-sdk-target?
> In my use case, when I bitbake an image recipe, I don't want to deal
> with SDK.
> 
> Concerning errors, is there a way to see what's not provided in order to
> fix virtual/libc message (bitbake -e) ?
> 
> Best regards,
> Matthieu
> 
> diff --git a/meta/classes/toolchain-scripts.bbclass
> b/meta/classes/toolchain-scripts.bbclass
> index 44284c3..f5fd4d7 100644
> --- a/meta/classes/toolchain-scripts.bbclass
> +++ b/meta/classes/toolchain-scripts.bbclass
> @@ -136,7 +136,7 @@ toolchain_create_sdk_env_script_for_installer () {
>  #we get the cached site config in the runtime
>  TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d, True)}"
>  TOOLCHAIN_CONFIGSITE_SYSROOTCACHE =
> "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
> -TOOLCHAIN_NEED_CONFIGSITE_CACHE = "${TCLIBC} ncurses"
> +TOOLCHAIN_NEED_CONFIGSITE_CACHE = "ncurses"
> 
>  #This function create a site config file

-- 
<natoka> Alfie: ;) naja, wir sind nicht in Redm**** wo man den teppich
	hochhebt und den besen auspackt und alles drunterkehrt.
<natoka> Alfie: und das was sich dann nicht mehr unterm teppich ausgeht als
	produkt deklariert und verkauft ;)



More information about the yocto mailing list