[OE-core] bison-native cleansstate failing
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Jul 20 12:19:18 UTC 2012
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
More information about the Openembedded-core
mailing list