[yocto] build error pandaboard on master

William Mills wmills at ti.com
Tue Jul 31 10:12:17 PDT 2012



On 07/31/2012 09:33 AM, Jim Abernathy wrote:
> On 07/31/2012 08:14 AM, Gary Thomas wrote:
>> On 2012-07-31 06:00, Jim Abernathy wrote:
>>> On 07/31/2012 07:53 AM, Gary Thomas wrote:
>>>> On 2012-07-31 05:49, Martin Jansa wrote:
>>>>> On Tue, Jul 31, 2012 at 07:47:34AM -0400, Jim Abernathy wrote:
>>>>>> On 07/31/2012 07:25 AM, Gary Thomas wrote:
>>>>>>> On 2012-07-30 13:11, Gary Thomas wrote:
>>>>>>>> On 2012-07-30 12:49, Jim Abernathy wrote:
>>>>>>>>> On 07/30/2012 01:16 PM, Gary Thomas wrote:
>>>>>>>>>> On 2012-07-30 11:09, Jim Abernathy wrote:
>>>>>>>>>>> On 07/30/2012 12:57 PM, Gary Thomas wrote:
>>>>>>>>>>>> On 2012-07-30 10:50, Jim Abernathy wrote:
>>>>>>>>>>>>> On 07/30/2012 10:21 AM, Gary Thomas wrote:
>>>>>>>>>>>>>> On 2012-07-30 08:11, Jim Abernathy wrote:
>>>>>>>>>>>>>>> On 07/30/2012 09:56 AM, Gary Thomas wrote:
>>>>>>>>>>>>>>>> On 2012-07-30 07:48, Jim Abernathy wrote:
>>>>>>>>>>>>>>>>> On 07/30/2012 09:15 AM, Gary Thomas wrote:
>>>>>>>>>>>>>>>>>> On 2012-07-30 06:53, Jim Abernathy wrote:
>>>>>>>>>>>>>>>>>>> I'm on master branch trying to build core-image-minimal
>>>>>>>>>>>>>>>>>>> for the machine "pandaboard". Besides the basics, I
>>>>>>>>>>>>>>>>>>> put in
>>>>>>>>>>>>>>>>>>> a license statement for cloud9 into local.conf.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> My bblayer.conf is as follows:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> # LAYER_CONF_VERSION is increased each time
>>>>>>>>>>>>>>>>>>> build/conf/bblayers.conf
>>>>>>>>>>>>>>>>>>> # changes incompatibly
>>>>>>>>>>>>>>>>>>> LCONF_VERSION = "5"
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> BBPATH = "${TOPDIR}"
>>>>>>>>>>>>>>>>>>> BBFILES ?= ""
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> BBLAYERS ?= " \
>>>>>>>>>>>>>>>>>>> /home/jim/poky/meta \
>>>>>>>>>>>>>>>>>>> /home/jim/poky/meta-yocto \
>>>>>>>>>>>>>>>>>>> /home/jim/meta-openembedded/meta-oe \
>>>>>>>>>>>>>>>>>>> /home/jim/meta-ti \
>>>>>>>>>>>>>>>>>>> "
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> The error I'm getting is:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> ERROR: ParseError at
>>>>>>>>>>>>>>>>>>> /home/jim/meta-ti/recipes-misc/payload/bonescript.bb:5:
>>>>>>>>>>>>>>>>>>> Could not inherit file classes/systemd.bbclass
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Build Configuration:
>>>>>>>>>>>>>>>>>>> BB_VERSION = "1.15.3"
>>>>>>>>>>>>>>>>>>> TARGET_ARCH = "arm"
>>>>>>>>>>>>>>>>>>> TARGET_OS = "linux-gnueabi"
>>>>>>>>>>>>>>>>>>> MACHINE = "pandaboard"
>>>>>>>>>>>>>>>>>>> DISTRO = "poky"
>>>>>>>>>>>>>>>>>>> DISTRO_VERSION = "1.2+snapshot-20120730"
>>>>>>>>>>>>>>>>>>> TUNE_FEATURES = "armv7a vfp neon cortexa9"
>>>>>>>>>>>>>>>>>>> TARGET_FPU = "vfp-neon"
>>>>>>>>>>>>>>>>>>> meta
>>>>>>>>>>>>>>>>>>> meta-yocto =
>>>>>>>>>>>>>>>>>>> "master:7411158e1f980cd71c432026fa2f68ab80e3541e"
>>>>>>>>>>>>>>>>>>> meta-oe =
>>>>>>>>>>>>>>>>>>> "master:9afc488a1b97bfc5378f139ba04a7a5297b15fdb"
>>>>>>>>>>>>>>>>>>> meta-ti =
>>>>>>>>>>>>>>>>>>> "master:9bc77dff5f84578e259f8225bfa0656d94a2a60a"
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> ERROR: Nothing PROVIDES 'pseudo-native'
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Try adding this in local.conf:
>>>>>>>>>>>>>>>>>> BBMASK ?= ".*/meta-ti/recipes-(misc|bsp/formfactor)/"
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> BBMASK by itself didn't solve my particular problem. I'll
>>>>>>>>>>>>>>>>> try the other suggestions and report back.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What other problem do you have? That BBMASK should keep
>>>>>>>>>>>>>>>> bitbake from
>>>>>>>>>>>>>>>> trying to parse the recipe mentioned above.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Note: I use these layers with Yocto all the time with that
>>>>>>>>>>>>>>>> mask...
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> When I just used the statement:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> BBMASK ?= ".*/meta-ti/recipes-(misc|bsp/formfactor)/"
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I got the same error as my original post.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The only way you could get that same error is if you already
>>>>>>>>>>>>>> have a BBMASK
>>>>>>>>>>>>>> statement somewhere and this one is being ignored because of
>>>>>>>>>>>>>> the ?= assignment.
>>>>>>>>>>>>>>
>>>>>>>>>>>>> So I started with a clean build again. This time I only added
>>>>>>>>>>>>> the BBMASK statement you suggested. I got the following error:
>>>>>>>>>>>>>
>>>>>>>>>>>>> ERROR: No recipes available for:
>>>>>>>>>>>>> /home/jim/meta-openembedded/meta-systemd/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bbappend
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> /home/jim/meta-openembedded/meta-systemd/meta-efl/recipes-efl/efl/elsa_svn.bbappend
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ERROR: Command execution failed: Exited with 1
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm guessing the BBMASK needs to call out
>>>>>>>>>>>>> meta-openembedded/meta-systemd/meta-gnome and meta-efl?
>>>>>>>>>>>>
>>>>>>>>>>>> Or don't include those layers - meta-systemd isn't needed by
>>>>>>>>>>>> your
>>>>>>>>>>>> yocto build.
>>>>>>>>>>>>
>>>>>>>>>>> Thanks, that makes more sense now. I removed the layer
>>>>>>>>>>> meta-systemd from bblayers.conf and used the
>>>>>>>>>>>
>>>>>>>>>>> BBMASK ?= ".*/meta-ti/recipes-(misc|bsp/formfactor)/"
>>>>>>>>>>>
>>>>>>>>>>> statement in local.conf to solves the problem.
>>>>>>>>>>>
>>>>>>>>>>> What is really causing the problem? Without it dependencies on
>>>>>>>>>>> meta-systemd are there, but the mask removes that?? Why can you
>>>>>>>>>>> remove a dependency?
>>>>>>>>>>
>>>>>>>>>> The dependency on systemd comes from this recipe:
>>>>>>>>>> meta-ti/recipes-misc/payload/bonescript.bb
>>>>>>>>>> The BBMASK is making bitbake ignore that recipe (you don't need
>>>>>>>>>> it), hence no dependency.
>>>>>>>>>>
>>>>>>>>> I got core-image-minimal built without errors, Thanks, now I
>>>>>>>>> need to
>>>>>>>>> ask some questions about booting that image. I'm assuming that I
>>>>>>>>> can follow the instructions on pandaboard.org
>>>>>>>>> for creating the SD card format and just copy the deploy/image/
>>>>>>>>> u-boot, MLO, uImage, and rootfs to the right places and boot the
>>>>>>>>> sdcard in the pandaboard. Anyway, that's what I
>>>>>>>>> tried. I'm connected to the panadboard via serial port and the
>>>>>>>>> U-Boot works and the uImage seems to be found, but I don't get a
>>>>>>>>> login console on the serial port:
>>>>>>>>>
>>>>>>>>> U-Boot SPL 2011.12-dirty (Jul 30 2012 - 13:44:03)
>>>>>>>>> Texas Instruments OMAP4430 ES2.1
>>>>>>>>> OMAP SD/MMC: 0
>>>>>>>>> reading u-boot.img
>>>>>>>>> reading u-boot.img
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> U-Boot 2011.12-dirty (Jul 30 2012 - 13:44:03)
>>>>>>>>>
>>>>>>>>> CPU : OMAP4430 ES2.1
>>>>>>>>> Board: OMAP4 Panda
>>>>>>>>> I2C: ready
>>>>>>>>> DRAM: 1 GiB
>>>>>>>>> MMC: OMAP SD/MMC: 0
>>>>>>>>> Using default environment
>>>>>>>>>
>>>>>>>>> In: serial
>>>>>>>>> Out: serial
>>>>>>>>> Err: serial
>>>>>>>>> Hit any key to stop autoboot: 0
>>>>>>>>> reading boot.scr
>>>>>>>>>
>>>>>>>>> ** Unable to read "boot.scr" from mmc 0:1 **
>>>>>>>>> reading uImage
>>>>>>>>>
>>>>>>>>> 4176404 bytes read
>>>>>>>>> Booting from mmc0 ...
>>>>>>>>> ## Booting kernel from Legacy Image at 82000000 ...
>>>>>>>>> Image Name: Linux-3.1.0
>>>>>>>>> Image Type: ARM Linux Kernel Image (uncompressed)
>>>>>>>>> Data Size: 4176340 Bytes = 4 MiB
>>>>>>>>> Load Address: 80008000
>>>>>>>>> Entry Point: 80008000
>>>>>>>>> Verifying Checksum ... OK
>>>>>>>>> Loading Kernel Image ... OK
>>>>>>>>> OK
>>>>>>>>>
>>>>>>>>> Starting kernel ...
>>>>>>>>>
>>>>>>>>> Uncompressing Linux... done, booting the kernel.
>>>>>>>>
>>>>>>>> Start with the obvious - check the bootparams in U-Boot. Break into
>>>>>>>> the boot process and run the 'printenv' command. What's the
>>>>>>>> value of
>>>>>>>> the "console" variable?
>>>>>>>>
>>>>>>>> n.b. I've not tried this exact setup on the PandaBoard. I may
>>>>>>>> have time
>>>>>>>> later today to do so.
>>>>>>>>
>>>>>>>
>>>>>>> I've just verified that this does fail when using yocto:master
>>>>>>> I'm pretty
>>>>>>> sure that the problem is related to the use of GCC 4.7.1 - I've had
>>>>>>> similar
>>>>>>> problems with ARM kernels & GCC 4.7.1 in the past.
>>>>>>>
>>>>>>> I did build yocto:denzil for the PandaBoard and it comes up and
>>>>>>> mostly
>>>>>>> works.
>>>>>>> I've not done extensive checking on this image though.
>>>>>> This problem that I have on denzil with pandaboard is I get the
>>>>>> following error:
>>>>>>
>>>>>> ERROR: ParseError at
>>>>>> /home/jim/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_git.bb:28:
>>>>>>
>>>>>> Could not inherit file classes/pythonnative.bbclass
>>>>>> ERROR: Command execution failed: Traceback (most recent call last):
>>>>>> File "/home/jim/poky/bitbake/lib/bb/command.py", line 84, in
>>>>>> runAsyncCommand
>>>>>> self.cooker.updateCache()
>>>>>> File "/home/jim/poky/bitbake/lib/bb/cooker.py", line 1202, in
>>>>>> updateCache
>>>>>> if not self.parser.parse_next():
>>>>>> File "/home/jim/poky/bitbake/lib/bb/cooker.py", line 1669, in
>>>>>> parse_next
>>>>>> self.virtuals += len(result)
>>>>>> UnboundLocalError: local variable 'result' referenced before
>>>>>> assignment
>>>>>>
>>>>>> Summary: There were 2 ERROR messages shown, returning a non-zero
>>>>>> exit code.
>>>>>>
>>>>>> I already have a BBMASK statement in local.conf:
>>>>>>
>>>>>> BBMASK ?= ".*/meta-ti/recipes-(misc|bsp/formfactor)/"
>>>>>>
>>>>>> I'm not sure how I add a second statement like:
>>>>>>
>>>>>> BBMASK ?= ".*/meta-openembedded/meta-oe//recipes-navigation/"
>>>>>>
>>>>>> Do I use += in both or what???
>>>>>
>>>>> use meta-oe denzil branch if you have oe-core denzil branch
>>>>
>>>> Or leave out the meta-oe layer since it's not needed for yocto core
>>>> images.
>>>> I did not have that layer in any of my builds.
>>>>
>>> So I switched my meta-openembedded to denzil and that got by the
>>> meta-openembedded errors but then produced and error out of meta-ti.
>>> I also tried removing the
>>> meta-openembedded/meta-oe layer and got the same error:
>>>
>>> ERROR: No recipes available for:
>>> /home/jim/meta-ti/recipes-core/netbase/netbase_5.0.bbappend
>>>
>>> This is like one of those puzzles that if you pull the wrong piece it
>>> all falls apart :-)
>>
>> Yes, this is a rather touch ball of twine with all these layers - they
>> have to
>> be properly aligned to get something that builds.
>>
>> Work arounds:
>> * You could checkout meta-ti to something that matches denzil
>> Revision 30fb40ebc13614a74c2e237927c60ac43e01d1bc works for me.
>> * Rename home/jim/meta-ti/recipes-core/netbase/netbase_5.0.bbappend to be
>> home/jim/meta-ti/recipes-core/netbase/netbase_4.47.bbappend
>> * Add BB_DANGLINGAPPENDS_WARNONLY to your local.conf
>>
> Thanks, your 1st work around of checking out a meta-ti that matches
> denzil worked for core-image-minimal. How in the world you knew how to
> find that commit number is the part that amazes me, but a lot of things
> amaze me. When I started programming we only has to worry about whether
> to use an 026 or 029 model IBM keypunch machine. :-)
>

Denys created the denzil branch in meta-ti a few days ago.  It currently 
points at the commit ID Gary mentions above.

[There has been a tag in meta-ti that marks where it was when YP 1.2 was 
released.  In the future this will be another marker to look for. 
However meta-ti was not release tested when YP 1.2 released so the value 
of this particular tag is not that great.]



More information about the yocto mailing list