[yocto] build failure on ubuntu 64bits development system

James Abernathy jfabernathy at gmail.com
Wed Jan 18 06:42:52 PST 2012


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

>
>
> On Wed, Jan 18, 2012 at 7:55 AM, James Abernathy <jfabernathy at 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 at 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()


> Jim A
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20120118/00f15304/attachment.html>


More information about the yocto mailing list