[OE-core] bison-native cleansstate failing
Jack Mitchell
ml at communistcode.co.uk
Fri Jul 20 12:30:35 UTC 2012
On 20/07/12 13:19, Richard Purdie wrote:
> On Fri, 2012-07-20 at 10:54 +0100, Jack Mitchell wrote:
>> I thought this was a python whitespace issue but it turns out not to be,
>> when I try to cleansstate bison-native I get the trace:
>>
>> NOTE: Running task 1 of 2 (ID: 0,
>> virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
>> do_clean)
>> NOTE: package bison-native-2.5-r2: task do_clean: Started
>> ERROR: Error executing a python function in
>> /mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb:
>> OSError: [Errno 39] Directory not empty:
>> '/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp'
>>
>> ERROR: The stack trace of python calls that resulted in this
>> exception/failure was:
>> ERROR: File "do_clean", line 16, in <module>
>> ERROR:
>> ERROR: File "do_clean", line 6, in do_clean
>> ERROR:
>> ERROR: File
>> "/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/lib/oe/path.py",
>> line 94, in remove
>> ERROR: shutil.rmtree(name)
>> ERROR:
>> ERROR: File "/usr/lib/python2.7/shutil.py", line 245, in rmtree
>> ERROR: rmtree(fullname, ignore_errors, onerror)
>> ERROR:
>> ERROR: File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
>> ERROR: onerror(os.rmdir, path, sys.exc_info())
>> ERROR:
>> ERROR: File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
>> ERROR: os.rmdir(path)
>> ERROR:
>> ERROR: The code that was being executed was:
>> ERROR: 0012: for f in (d.getVar('CLEANFUNCS', True) or
>> '').split():
>> ERROR: 0013: bb.build.exec_func(f, d)
>> ERROR: 0014:
>> ERROR: 0015:
>> ERROR: *** 0016:do_clean(d)
>> ERROR: 0017:
>> ERROR: (file: 'do_clean', lineno: 16, function: <module>)
>> ERROR: 0002:def do_clean(d):
>> ERROR: 0003: """clear the build and temp directories"""
>> ERROR: 0004: dir =
>> d.expand("/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2")
>> ERROR: 0005: bb.note("Removing " + dir)
>> ERROR: *** 0006: oe.path.remove(dir)
>> ERROR: 0007:
>> ERROR: 0008: dir = "%s.*" % bb.data.expand(d.getVar('STAMP'), d)
>> ERROR: 0009: bb.note("Removing " + dir)
>> ERROR: 0010: oe.path.remove(dir)
>> ERROR: (file: 'do_clean', lineno: 6, function: do_clean)
>> ERROR: Function failed: do_clean
>> NOTE: package bison-native-2.5-r2: task do_clean: Failed
>> ERROR: Task 0
>> (virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb,
>> do_clean) failed with exit code '1'
>> NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
>> rerun and 1 failed.
>>
>>
>> However when I check the bison-native temp directory:
>>
>> [build at yoctoBuilder x86_64-linux]$ cd bison-native-2.5-r2/
>> [build at yoctoBuilder bison-native-2.5-r2]$ ls
>> temp
>> [build at yoctoBuilder bison-native-2.5-r2]$ cd temp/
>> [build at yoctoBuilder temp]$ ls -la
>> total 8
>> drwxr-sr-x 2 build storage 4096 Jul 20 10:50 .
>> drwxr-sr-x 3 build storage 4096 Jul 20 10:50 ..
>> [build at yoctoBuilder temp]$
>>
>> Any ideas?
> I think its a race since the task writes out logfiles into temp/ and the
> command tries to remove all the files. Locally here, it seems to manage
> to remove leaving the logfile. I'm puzzled why you see that and I don't
> though...
>
> Cheers,
>
> Richard
>
There are a couple of extra variables on my end that may be encouraging
this.
1) This is a virtual machine
2) The build storage directory is hosted via nfs
Do you think it could be an nfs problem with delayed read/writes? It
isn't over
a physical network, just a virtual one between the virtual machine and
host so
network latency shouldn't be an issue.
Cheers,
--
Jack Mitchell (jack at embed.me.uk)
Embedded Systems Engineer
http://www.embed.me.uk
--
More information about the Openembedded-core
mailing list