[OE-core] util-macros.do_package failed Re: Build failure

Richard Purdie richard.purdie at linuxfoundation.org
Sat Apr 5 09:33:28 UTC 2014


On Sat, 2014-04-05 at 16:29 +0800, Robert Yang wrote:
> 
> On 04/05/2014 01:18 AM, Robert Yang wrote:
> >
> > Hi Andreas,
> >
> > I met the error on the master, we seldom met this error, but we did meet
> > it once in a while, I did several rough investigations, I think that the
> > problem is happened when etc/passwd is being created but is null before
> > write anything into it, and the util-macros.do_package runs right at the
> > same time, here is a hack way to reproduce it: (Use qemux86 as an example):
> >
> > $ bitbake base-passwd
> >
> > # Move the passwd file
> > $ mv tmp/sysroots/qemux86/etc/passwd tmp/sysroots/qemux86/etc/passwd.bak
> >
> > # Create a passwd file which is null
> > $ touch tmp/sysroots/qemux86/etc/passwd
> >
> > $ bitbake util-macros
> >
> > Then we will see the errors.
> >
> > The build is be OK if there is no tmp/sysroots/qemux86/etc/passwd, maybe
> > the pwd.getpwnam() reads the host's /etc/passwd when there is no
> > tmp/sysroots/qemux86/etc/passwd (not sure about this). but it would fail
> > if it exists and is null.
> >
> > Maybe we can let the do_package depend on base-passwd:do_populate_sysroot
> > to fix the problem.
> >
> 
> It seems that this is not a good idea since once we add the following line,
> it would cause all the target recipe's do_package depends on
> base-passwd:do_populate_sysroot, this would cause the arch "all" depends on
> eglibc since base-passwd depends on eglibc, we may need fix in another way.
> 
> do_package[depends] += "base-passwd:do_populate_sysroot"

This is very similar to the issue:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=5612

I think I'm leaning in favour of putting in a basic passwd/group file
into the sysroot, even if we have to maintain such a copy ourselves.

Cheers,

Richard




More information about the Openembedded-core mailing list