Bug 3231

Summary: rootfs for custom image fails because of missing dependencies
Product: [Build System, Metadata & Runtime] Hob Reporter: Stefan Stanacar <sstncr>
Component: hobAssignee: 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:
Description Flags
log.do_rootfs
none
screenshot with hob error none

Description Stefan Stanacar 2012-10-04 12:51:56 UTC
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
Comment 1 Stefan Stanacar 2012-10-04 12:53:43 UTC
Created attachment 873 [details]
screenshot with hob  error
Comment 2 Stefan Stanacar 2012-10-04 12:59:53 UTC
(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.
Comment 3 Constantin Musca 2012-10-08 06:59:35 UTC
The Bash package doesn't depend on the necessary packages used to build a minimal image.
Comment 4 Stefan Stanacar 2012-10-08 11:09:43 UTC
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?
Comment 5 Stefan Stanacar 2012-10-08 11:23:16 UTC
I don't see this as a bitbake error, but a Hob design issue. Maybe I'm wrong so more people should weight in...
Comment 6 Richard Purdie 2012-10-08 12:45:49 UTC
Hob should not fail when you do this and this is a valid bug, it should not have been closed as invalid.
Comment 7 Richard Purdie 2012-10-08 13:11:43 UTC
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.
Comment 8 Richard Purdie 2012-10-08 15:53:30 UTC
*** Bug 2815 has been marked as a duplicate of this bug. ***
Comment 9 Richard Purdie 2012-10-08 15:54:18 UTC
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).
Comment 10 Cristian Iorga 2012-10-15 11:00:55 UTC
Hello Richard,
What is the status of this bug?

Thanks,
Cristian
Comment 11 Cristian Iorga 2012-10-15 11:02:10 UTC
Part of HOB improvement sprint for 1.4
Comment 13 Stefan Stanacar 2012-10-18 12:56:42 UTC
Verified in master:e6e2b9bd66100c078c029ca7e34829cf1dfb5490