[bitbake-devel] Minimal BitBake template

Bill Traynor wmat at alphatroop.com
Mon Jan 14 14:23:43 UTC 2013


On Mon, Jan 14, 2013 at 9:04 AM, Andrew Stubbs <ams at codesourcery.com> wrote:

> Hi all,
>
> I'm trying to evaluate use of BitBake for projects other than OE.
>
> As part of that I've been experimenting, and trying to learn how it works
> by writing a minimalist working recipe set starting from a blank slate. I
> had hoped that, with the documentation and error/warning messages, I would
> be able to do this step-by-step through trial and error, and thus learn
> more than doing a straight cut-and-paste. This works up to a point, but
> I've now hit a dead end:
>
>  ERROR: An uncaught exception occured in runqueue, please see the failure
>> below:
>> ERROR: Running idle function
>> Traceback (most recent call last):
>>   File "/opt/bitbake/lib/bb/cooker.**py", line 1152, in
>> buildTargetsIdle(server=<**ProcessServer(ProcessServer-1, started)>,
>> rq=<bb.runqueue.RunQueue instance at 0x14654d0>, abort=False):
>>                  try:
>>     >                retval = rq.execute_runqueue()
>>                  except runqueue.TaskFailure as exc:
>>   File "/opt/bitbake/lib/bb/runqueue.**py", line 934, in
>> RunQueue.execute_runqueue():
>>              try:
>>     >            return self._execute_runqueue()
>>              except bb.runqueue.TaskFailure:
>>   File "/opt/bitbake/lib/bb/runqueue.**py", line 901, in
>> RunQueue._execute_runqueue():
>>              if self.state is runQueueRunning:
>>     >            retval = self.rqexe.execute()
>>
>>   File "/opt/bitbake/lib/bb/runqueue.**py", line 1365, in
>> RunQueueExecuteTasks.execute()**:
>>
>>     >            if self.rq.check_stamp_task(task, taskname,
>> cache=self.stampcache):
>>                      logger.debug(2, "Stamp current task %s (%s)", task,
>>   File "/opt/bitbake/lib/bb/runqueue.**py", line 821, in
>> RunQueue.check_stamp_task(**task=0, taskname='do_build', recurse=False,
>> cache={}):
>>              # If the stamp is missing its not current
>>     >        if not os.access(stampfile, os.F_OK):
>>                  logger.debug(2, "Stampfile %s not available", stampfile)
>> TypeError: coercing to Unicode: need string or buffer, NoneType found
>>
>
> Apparently BitBake has some kind of internal assumption about what the
> recipes/classes will look like that it doesn't explicitly check, and I
> haven't satisfied, somehow? Googling around suggests that the problem might
> be related to loops in the dependency chain, or something, but my recipe
> only has one task.
>
> Essentially, I have three files:
>
> conf/bitbake.conf
> ---8<--------------->8---
> BBFILES = "*.bb"
> CACHE = "/tmp/bbcache"
> ---8<--------------->8---
>
> classes/base.bbclass
> ---8<--------------->8---
> addtask build
>
> do_build () {
>         :
> }
> ---8<--------------->8---
>
> hello.bb
> ---8<--------------->8---
> PROVIDES="hello"
>
> do_build () {
>         echo "Hello, World!"
> }
> ---8<--------------->8---
>
> I then invoke "env BBPATH=$PWD bitbake hello" and get the above exception.
>
> Clearly, I'm missing something crucial, but what? Can you help me figure
> out what the minimal "hello world" recipe might look like?
>
> Thanks in advance
>
> Andrew
>
> P.S. I will probably end up using something based on a copy of the OE
> base-class, given there's no point in reinventing the wheel, but I'd like
> to understand how these things work from first-principles first.
>

This doesn't answer your problem directy, and you may have seen this
tutorial already, but in case not:

http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/

Note that I'm including a hello world example in the new BitBake User
Manual I'm working on.


>
> ______________________________**_________________
> bitbake-devel mailing list
> bitbake-devel at lists.**openembedded.org<bitbake-devel at lists.openembedded.org>
> http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**bitbake-devel<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20130114/00ba60cf/attachment-0001.html>


More information about the bitbake-devel mailing list