On 01/18/2012 09:51 AM, Gary Thomas wrote:
On 2012-01-18 07:42, James Abernathy wrote:


On Wed, Jan 18, 2012 at 9:30 AM, James Abernathy <[email protected] <mailto:[email protected]>> wrote:



On Wed, Jan 18, 2012 at 7:55 AM, James Abernathy <[email protected] <mailto:[email protected]>> wrote:

I just built a new development pc and installed Ubuntu 11.10 x64. I wonder if there are any new requirements to building Yocto in that environment? I got an error right off, but then it complete the first 63 task and stopped successfully. error below:

        jim@ubuntu:~/poky/build-cdv$ bitbake core-image-sato
Pseudo is not present but is required, building this first before the main build Parsing recipes: 100% |#################################################| Time: 00:00:25 Parsing of 797 .bb files complete (0 cached, 797 parsed). 1037 targets, 22 skipped, 0 masked, 0 errors.
        ERROR: Execution of event handler 'run_buildstats' failed
        Traceback (most recent call last):
File "run_buildstats(e)", line 18, in run_buildstats(e=<bb.event.BuildStarted object at 0x4c338d0>) File "buildstats.bbclass", line 21, in set_device(e=<bb.event.BuildStarted object at 0x4c338d0>) UnboundLocalError: local variable 'rdev' referenced before assignment


        Any ideas?

        JIm A


I went back and tried using the tarballs for poky edison and cedartrail bsp and the errors don't occur. So I'm guessing the issue isn't related to Ubuntu 32 vs. 64 bit.


I spoke too soon. Same error in edison tarballs. I looked at the code and I can see an place were rdev could go un assigned. If you fell out of the for loop without passing any of the if conditions, rdev would be unassigned. That must be what is happening in Ubuntu 11.10 x64

Anybody building with Ubuntu 11.10 x64?  This doesn't happen on x32

Jim A


def set_device(e):
     tmpdir = bb.data.getVar('TMPDIR', e.data, True)
     try:
         os.remove(bb.data.getVar('DEVFILE', e.data, True))
     except:
         pass
############################################################################ # We look for the volume TMPDIR lives on. To do all disks would make little # sense and not give us any particularly useful data. In theory we could do # something like stick DL_DIR on a different partition and this would # throw stats gathering off. The same goes with SSTATE_DIR. However, let's
     # get the basics in here and work on the cornercases later.
############################################################################
     device=os.stat(tmpdir)
     majordev=os.major(device.st_dev)
     minordev=os.minor(device.st_dev)
     for line in open("/proc/diskstats", "r"):
if majordev == int(line.split()[0]) and minordev == int(line.split()[1]):
            rdev=line.split()[2]
     file = open(bb.data.getVar('DEVFILE', e.data, True), "w")
     file.write(rdev)
     file.close()

Can you show what the differences are between /proc/diskstats
on the two systems?  That's obviously what's causing the error.


If your build dir is encyptfs or a fuse device or anything that is not a direct block device you will get this error. This is to be fixed in 1.1.1 but encyptfs will still have other problems.


_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to