[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