From patchwork Thu Jul 26 07:14:52 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: SDK and external toolchain Date: Thu, 26 Jul 2012 07:14:52 -0000 From: Matthieu CRAPET X-Patchwork-Id: 33105 Message-Id: To: "Patches and discussions about the oe-core layer" 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