| Summary: | Build fails when using Sourcery CodeBench Lite for ARM toolchain with multiple providers errors | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Stefan Stanacar <sstncr> | ||||
| Component: | core | Assignee: | Christopher Larson <kergoth> | ||||
| Status: | RESOLVED WONTFIX | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | Medium | CC: | bluelightning, meta.mr.watcher, meta.watcher, sgw | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 1.5 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
Created attachment 934 [details]
run.do_install for the second error
run.do_install log has some weirdness in it:
do_install() {
# Use optimized files if available
sysroot="ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be p
reloaded: ignored.
/home/stefans/csl/bin/../arm-none-linux-gnueabi/libc"
wth?!
After poking around I did this hack:
git diff meta/conf/distro/include/tcmode-external-sourcery.inc
diff --git a/meta/conf/distro/include/tcmode-external-sourcery.inc b/meta/conf/distro/include/tcmode-external-sourcery.inc
index 098c724..2e0d464 100644
--- a/meta/conf/distro/include/tcmode-external-sourcery.inc
+++ b/meta/conf/distro/include/tcmode-external-sourcery.inc
@@ -46,7 +46,7 @@ TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}"
# files will be extracted into the OE sysroot
def exttc_run(d, cmd):
try:
- return bb.process.run(cmd, shell=True, env={'PATH': d.getVar('PATH', True)})[0].rstrip()
+ return bb.process.run(cmd, shell=True, env={'PATH': d.getVar('PATH', True)}, stderr=False)[0].rstrip()
except (OSError, bb.process.CmdError):
return ''
Now I don't get the second error anymore (the one about cp) when doing bitbake core-image-minimal and I do see the error (instead of getting into sysroot):
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored.
Currently 2 running tasks (237 of 1326):
0: external-sourcery-toolchain-2012.03-57-r7 do_install (pid 10380)
By community agreement we've removed external-sourcery-toolchain from OE-Core in master [1], in favour of meta-sourcery which is better maintained. Accordingly for 1.5 this is a WONTFIX; people should use meta-sourcery instead there also. [1] http://cgit.openembedded.org/openembedded-core/commit/?id=7603b15415301679bccbcb89af688c211704a43a |
When trying to use Sourcery CodeBench Lite ARM toolchain to build a core-image-minimal image bitbake bails out with errors about multiple .bb files providing virtual/libc and others. In meta/conf/distro/include/tcmode-external-sourcery.inc I changed: TARGET_PREFIX = "${CSL_TARGET_SYS}-" to: TARGET_PREFIX ?= "${CSL_TARGET_SYS}-" and in meta-yocto/conf/distro/poky.conf I added TCMODE = "external-csl" CSL_VER_MAIN = "2012.03-57" EXTERNAL_TOOLCHAIN = "/home/stefans/csl" TARGET_PREFIX = "arm-none-linux-gnueabi-" bitbake core-image-minimal Build Configuration: BB_VERSION = "1.16.0" TARGET_ARCH = "arm" TARGET_OS = "linux-gnueabi" MACHINE = "qemuarm" DISTRO = "poky" DISTRO_VERSION = "1.3+snapshot-20121106" TUNE_FEATURES = "armv5 dsp thumb arm926ejs" TARGET_FPU = "soft" meta meta-yocto meta-yocto-bsp = "master:78983e939ab17f02f8911c8b0d0e326b419856b9" ERROR: Multiple .bb files are due to be built which each provide virtual/libc (/home/stefans/yocto/poky/meta/recipes-core/eglibc/eglibc_2.16.bb /home/stefans/yocto/poky/meta/recipes-core/meta/external-sourcery-toolchain.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-none-linux-gnueabi-libc-for-gcc (/home/stefans/yocto/poky/meta/recipes-core/eglibc/eglibc_2.16.bb /home/stefans/yocto/poky/meta/recipes-core/meta/external-sourcery-toolchain.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 (/home/stefans/yocto/poky/meta/recipes-core/eglibc/eglibc_2.16.bb /home/stefans/yocto/poky/meta/recipes-core/meta/external-sourcery-toolchain.bb). This usually means one provides something the other doesn't and should. NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ERROR: Function failed: do_install (see /home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/temp/log.do_install.2066 for further information) ERROR: Logfile of failure stored in: /home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/temp/log.do_install.2066 Log data follows: | DEBUG: Executing shell function do_install | cp: target `/home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/image/lib' is not a directory | ERROR: Function failed: do_install (see /home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/temp/log.do_install.2066 for further information) ERROR: Task 260 (/home/stefans/yocto/poky/meta/recipes-core/meta/external-sourcery-toolchain.bb, do_install) failed with exit code '1' --- [stefans@firebird csl]$ bitbake -D core-image-minimal | grep arm-none-linux-gnueabi-libc-for-gcc DEBUG: checking PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-libc-for-gcc (value external-sourcery-toolchain) against ['eglibc'] DEBUG: checking PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-libc-for-gcc (value external-sourcery-toolchain) against ['eglibc'] DEBUG: checking PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-libc-for-gcc (value external-sourcery-toolchain) against ['eglibc'] DEBUG: checking PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-libc-for-gcc (value external-sourcery-toolchain) against ['eglibc'] DEBUG: providers for virtual/arm-none-linux-gnueabi-libc-for-gcc are: ['eglibc', 'external-sourcery-toolchain'] NOTE: selecting external-sourcery-toolchain to satisfy virtual/arm-none-linux-gnueabi-libc-for-gcc due to PREFERRED_PROVIDERS DEBUG: sorted providers for virtual/arm-none-linux-gnueabi-libc-for-gcc are: ['/home/stefans/yocto/poky/meta/recipes-core/meta/external-sourcery-toolchain.bb', '/home/stefans/yocto/poky/meta/recipes-core/eglibc/eglibc_2.16.bb'] ERROR: Multiple .bb files are due to be built which each provide virtual/arm-none-linux-gnueabi-libc-for-gcc (/home/stefans/yocto/poky/meta/recipes-core/eglibc/eglibc_2.16.bb /home/stefans/yocto/poky/meta/recipes-core/meta/external-sourcery-toolchain.bb). ---- [stefans@firebird csl]$ ls -l /home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/image/ total 0 [stefans@firebird csl]$ cat /home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/temp/log.do_install.2066 DEBUG: Executing shell function do_install cp: target `/home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/image/lib' is not a directory ERROR: Function failed: do_install (see /home/stefans/yocto/builds/csl/tmp/work/armv5te-poky-linux-gnueabi/external-sourcery-toolchain-2012.03-57-r7/temp/log.do_install.2066 for further information) ---- There are two errors but I'm not sure if the second error (cp missing target) is related to the first one. Also, I have the same errors on danny release as well the above master commit.