On 2012-01-18 07:42, James Abernathy wrote:


On Wed, Jan 18, 2012 at 9:30 AM, James Abernathy <jfaberna...@gmail.com 
<mailto:jfaberna...@gmail.com>> wrote:



    On Wed, Jan 18, 2012 at 7:55 AM, James Abernathy <jfaberna...@gmail.com 
<mailto:jfaberna...@gmail.com>> 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.

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to