[OE-core] util-macros.do_package failed Re: Build failure
Robert Yang
liezhi.yang at windriver.com
Fri Apr 4 17:18:53 UTC 2014
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.
Will do more investigations tomorrow.
Night.
// Robert
On 11/14/2012 05:30 PM, Andreas Müller wrote:
> On Wed, Nov 14, 2012 at 10:15 AM, Andreas Müller
> <schnitzeltony at googlemail.com> wrote:
>> Ciao,
>>
>> with latest layer HEADS and build from scratch I get:
>>
>> KeyError: 'getpwnam(): name not found: root'
>>
>> ERROR: The stack trace of python calls that resulted in this
>> exception/failure was:
>> ERROR: File "fixup_perms", line 227, in <module>
>> ERROR:
>> ERROR: File "fixup_perms", line 155, in fixup_perms
>> ERROR:
>> ERROR: File "fixup_perms", line 32, in __init__
>> ERROR:
>> ERROR: File "fixup_perms", line 42, in _setdir
>> ERROR:
>> ERROR: File "fixup_perms", line 66, in _procuid
>> ERROR:
>> ERROR: The code that was being executed was:
>> ERROR: 0223: each_file = os.path.join(root, f)
>> ERROR: 0224: fix_perms(each_file,
>> fs_perms_table[dir].fmode, fs_perms_table[dir].fuid,
>> fs_perms_table[dir].fgid, dir)
>> ERROR: 0225:
>> ERROR: 0226:
>> ERROR: *** 0227:fixup_perms(d)
>> ERROR: 0228:
>> ERROR: [From file: 'fixup_perms', lineno: 227, function: <module>]
>> ERROR: 0151: for path in target_path_vars:
>> ERROR: 0152: dir = d.getVar(path, True) or ""
>> ERROR: 0153: if dir == "":
>> ERROR: 0154: continue
>> ERROR: *** 0155: fs_perms_table[dir] =
>> fs_perms_entry(bb.data.expand("%s 0755 root root false - - -" % (dir),
>> d))
>> ERROR: 0156:
>> ERROR: 0157: # Now we actually load from the configuration files
>> ERROR: 0158: for conf in get_fs_perms_list(d).split():
>> ERROR: 0159: if os.path.exists(conf):
>> ERROR: [From file: 'fixup_perms', lineno: 155, function: fixup_perms]
>> ERROR: Function failed: fixup_perms
>> ERROR: Logfile of failure stored in:
>> /home/andreas/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/util-macros-1_1.17-r0/temp/log.do_package.28653
>> ERROR: Task 4450
>> (/home/andreas/data/oe-core/sources/openembedded-core/meta/recipes-graphics/xorg-util/util-macros_1.17.bb,
>> do_package) failed with exit code '1'
>> NOTE: Tasks Summary: Attempted 3985 tasks of which 397 didn't need to
>> be rerun and 1 failed.
>>
>> The only additional information I found up to now:
>>
>> * the code mentioned in error message is found in package.bbclass.
>> * in sysroot/etc/passwd there is a line 'root::0:0:root:/home/root:/bin/sh'
>>
>> Any ideas?
>>
> Additional info: After running
>
> bitbake -ccleansstate util-macros util-macros-native
>
> the build continues as without issues. Some missing dependency race?
>
> Andreas
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
More information about the Openembedded-core
mailing list