| Summary: | Can't build minimal image with IMAGE_LINGUAS set | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Meta-yocto | Reporter: | Gary Thomas <gary> | ||||
| Component: | meta-yocto | Assignee: | Saul Wold <sgw> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | High | CC: | jiajun.xu, poky.bs.watcher, poky.watcher, sgw | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 1.1 M2 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | --- | |||||
| Attachments: |
|
||||||
|
Description
Gary Thomas
2011-07-06 05:10:01 UTC
Created attachment 184 [details]
Minimal image recipe
Once you've run "bitbake eligbc-locale", does this still happen? Yes, it does build after building eglibc-locale Perhaps there should be an explicit dependency on virtual/libc-locale? BTW, why does it take so long to build eglibc-locale? Using ipk: real 14m0.503s user 8m19.703s sys 4m19.037s Using rpm: real 22m28.906s user 9m35.337s sys 12m8.473s My build host is reasonably fast (Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz) and I run with BB_NUMBER_THREADS = "4" PARALLEL_MAKE = "-j 4" Note: when I added "libc-locale" to my image (since eglibc-locale is a virtual provider for this package), I get this error: ERROR: Trying to resolve runtime dependency libc-locale resulted in conflicting PREFERRED_PROVIDER entries being found. The providers found were: ['virtual:nativesdk:/tmp/poky-amltd/meta/recipes-core/eglibc/eglibc_2.13.bb', '/tmp/poky-amltd/meta/recipes-core/eglibc/eglibc_2.13.bb'] The PREFERRED_PROVIDER entries resulting in this conflict were: ['PREFERRED_PROVIDER_virtual/libc-nativesdk = eglibc-nativesdk', 'PREFERRED_PROVIDER_virtual/libc = eglibc'] NOTE: multiple providers are available for runtime libc-locale (eglibc, eglibc-nativesdk, glibc-nativesdk, glibc) NOTE: consider defining a PREFERRED_PROVIDER entry to match libc-locale I also tried adding PREFERRED_PROVIDER_virtual/libc-nativesdk ?= "eglibc-nativesdk" PREFERRED_PROVIDER_virtual/libc-locale ?= "eglibc-locale" to my distro.conf - no improvement libc-locals does the work that used to be done in libc's do_package so you'll see that is faster and this step now takes the time. This does mean the system can do various things in the meantime without waiting for that though. *** Bug 1216 has been marked as a duplicate of this bug. *** -RDEPENDS += "${IMAGE_INSTALL}"
+RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL}"
in image.bbclass could potentially fix this...
Looks like it works :-) I tested it with IMAGE_LINGUAS set non-empty and eglibc-locale was needed. It also works fine when IMAGE_LINGUAS is empty. I thought this was fixed. I had tested earlier in a tree which had been successfully built like this: * Build a minimal image * bitbake eglibc-locale -ccleansstate * Rebuild image without patch - fails * Rebuild image with patch - succeeds Sadly, a build 100% from scratch, even with the patch still fails. More about the failure - it seems to be looking for a file in the wrong place: ERROR: Function 'do_install_locale' failed (see /home/local/map8100_poky/tmp/work/armv5te-amltd-linux-gnueabi/eglibc-2.13-r6+svnr14157/temp/log.do_install_locale.12171 for further information) ERROR: Logfile of failure stored in: /home/local/map8100_poky/tmp/work/armv5te-amltd-linux-gnueabi/eglibc-2.13-r6+svnr14157/temp/log.do_install_locale.12171 Log data follows: | mv: cannot stat `/home/local/map8100_poky/tmp/work/armv5te-amltd-linux-gnueabi/eglibc-2.13-r6+svnr14157/image/usr/bin/localedef': No such file or directory | ERROR: Function 'do_install_locale' failed (see /home/local/map8100_poky/tmp/work/armv5te-amltd-linux-gnueabi/eglibc-2.13-r6+svnr14157/temp/log.do_install_locale.12171 for further information) However, when I find a find for localedef in the tmp tree, I only find it at /local/p60_latest/tmp/work/armv7a-amltd-linux-gnueabi/eglibc-2.13-r5+svnr14157/image/usr/include/eglibc-locale-internal-armv7a-amltd-linux-gnueabi/usr/bin/localedef which I think is a rather strange place. Sorry, this was operator error :-( My build was missing ${DISTRO_FEATURES_LIBC} in DISTRO_FEATURES which caused these problems. The build is working fine now.
Note: per bug #1212, messing up DISTRO_FEATURES, especially the DISTRO_FEATURES_LIBC functions, causes lots of errors, many hard to associate back to the source of misconfiguration.
|