| Summary: | rootfs for custom image fails because of missing dependencies | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Hob | Reporter: | Stefan Stanacar <sstncr> | ||||||
| Component: | hob | Assignee: | Cristian Iorga <cristian.iorga> | ||||||
| Status: | VERIFIED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | Medium+ | CC: | bluelightning, cristian.iorga, cristiana.voicu, jessica.zhang, laurentiu.serban, poky.bs.watcher, poky.watcher, richard.purdie, valentin.popa | ||||||
| Version: | 1.3 | ||||||||
| Target Milestone: | 1.3 | ||||||||
| Hardware: | x86 | ||||||||
| OS: | Multiple | ||||||||
| Whiteboard: | d38f055593404e6395300e37ae54ee5a4edada97, a6f6d4faba3d8ce02d198b0bb9f8cfb9c2963529, bcc73d26ddff01f0e4bb38eab23c57ef9bf76b04 | ||||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||||
| Verified: | Documentation change: | --- | |||||||
| Attachments: |
|
||||||||
Created attachment 873 [details]
screenshot with hob error
(In reply to comment #0) > Created attachment 872 [details] > log.do_rootfs > > Branch danny:86c9aa8081f107420cd3763d0566d779daddc2b1 > > > 0. > Machine: qemuarm > Image: Create your own image > Edit image > > 1. Select very few recipes (I only selected bash and less ) -> Hob figures > out the rest of the recipes > 2. build packages > 3. (Step 2 of 2: Edit packages) Hob asks which packages you want to include > in the image -> Select some random packages, not all > 4. build image -> fails Just to be clear, when I said select some random packages I only selected bash. The Bash package doesn't depend on the necessary packages used to build a minimal image. Then at least Hob should show a relevant message. What's the point of having a custom image option and let me select the packages I want if the image can't be built? Hob should either auto-select the depends or let me know that it can't build the image with those packages. Or is the user supposed to know all the dependencies beforehand? Maybe he doesn't want -dbg and -doc packages in the image and deselects them, maybe he deselects more packages and one it's critical for building the image. Btw, selecting bash was just an extreme example, the build fails in many more cases. You can build a image with 50 recipes which produce 150 packages and select 30 of them and it still fails. Why should the user care that he didn't select the eglibc-locale-* packages? I don't see this as a bitbake error, but a Hob design issue. Maybe I'm wrong so more people should weight in... Hob should not fail when you do this and this is a valid bug, it should not have been closed as invalid. This bug is unfortunately rather poorly described so I'll attempt to elaborate. Firstly, the key is to understand that *all* the bach packages and less packages are selected which includes bash-dev and bash-locale*. This results in a rootfs constuction error of: error: Failed dependencies: pkgconfig is needed by libz-dev-1.2.7-r0.armv5te virtual-locale-en+boldquot is needed by bash-locale-en+boldquot-4.2-r5.armv5te virtual-locale-en+quot is needed by bash-locale-en+quot-4.2-r5.armv5te virtual-locale-eo is needed by bash-locale-eo-4.2-r5.armv5te pkgconfig is needed by ncurses-dev-5.9-r11.1.armv5te eglibc-binary-localedata-cs-cz.iso88592 is needed by locale-base-cs-cz.iso-8859-2-2.16-r22.armv5te eglibc-binary-localedata-af-za.iso88591 is needed by locale-base-af-za.iso-8859-1-2.16-r22.armv5te eglibc-binary-localedata-sk-sk.iso88592 is needed by locale-base-sk-sk.iso-8859-2-2.16-r22.armv5te eglibc-binary-localedata-ja-jp.eucjp is needed by locale-base-ja-jp.euc-jp-2.16-r22.armv5te eglibc-binary-localedata-nl-nl.iso88591 is needed by locale-base-nl-nl.iso-8859-1-2.16-r22.armv5te eglibc-binary-localedata-fr-fr.iso88591 is needed by locale-base-fr-fr.iso-8859-1-2.16-r22.armv5te eglibc-binary-localedata-sv-se.iso88591 is needed by locale-base-sv-se.iso-8859-1-2.16-r22.armv5te eglibc-binary-localedata-ru-ru.koi8r is needed by locale-base-ru-ru.koi8-r-2.16-r22.armv5te eglibc-binary-localedata-id-id.iso88591 is needed by locale-base-id-id.iso-8859-1-2.16-r22.armv5te eglibc-binary-localedata-et-ee.iso885915 is needed by locale-base-et-ee.iso-8859-15-2.16-r22.armv5te which would appear to be a mixture of broken locale dependencies and pkgconfig not having been built. These are two seperate issues: a) The pkgconfig dependency is autogenerated and added to antything containing a .pc file. Since its added at build time, its not possible to predict whether its necessary in advance which is where the problem comes from and is a specific issue for pkgconfig. b) We need to unravel what is broken in the locale dependencies. *** Bug 2815 has been marked as a duplicate of this bug. *** I've posted three patches onto OE-Core which address the issues in the rootfs failure in this bug (two locale issues and one pkgconfig). Hello Richard, What is the status of this bug? Thanks, Cristian Part of HOB improvement sprint for 1.4 The three fixes for this merged into master: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=d38f055593404e6395300e37ae54ee5a4edada97 http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6f6d4faba3d8ce02d198b0bb9f8cfb9c2963529 http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=bcc73d26ddff01f0e4bb38eab23c57ef9bf76b04 Verified in master:e6e2b9bd66100c078c029ca7e34829cf1dfb5490 |
Created attachment 872 [details] log.do_rootfs Branch danny:86c9aa8081f107420cd3763d0566d779daddc2b1 0. Machine: qemuarm Image: Create your own image Edit image 1. Select very few recipes (I only selected bash and less ) -> Hob figures out the rest of the recipes 2. build packages 3. (Step 2 of 2: Edit packages) Hob asks which packages you want to include in the image -> Select some random packages, not all 4. build image -> fails