<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 14, 2013 at 9:04 AM, Andrew Stubbs <span dir="ltr"><<a href="mailto:ams@codesourcery.com" target="_blank">ams@codesourcery.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi all,<br>
<br>
I'm trying to evaluate use of BitBake for projects other than OE.<br>
<br>
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:<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
ERROR: An uncaught exception occured in runqueue, please see the failure below:<br>
ERROR: Running idle function<br>
Traceback (most recent call last):<br>
File "/opt/bitbake/lib/bb/cooker.<u></u>py", line 1152, in buildTargetsIdle(server=<<u></u>ProcessServer(ProcessServer-1, started)>, rq=<bb.runqueue.RunQueue instance at 0x14654d0>, abort=False):<br>
try:<br>
> retval = rq.execute_runqueue()<br>
except runqueue.TaskFailure as exc:<br>
File "/opt/bitbake/lib/bb/runqueue.<u></u>py", line 934, in RunQueue.execute_runqueue():<br>
try:<br>
> return self._execute_runqueue()<br>
except bb.runqueue.TaskFailure:<br>
File "/opt/bitbake/lib/bb/runqueue.<u></u>py", line 901, in RunQueue._execute_runqueue():<br>
if self.state is runQueueRunning:<br>
> retval = self.rqexe.execute()<br>
<br>
File "/opt/bitbake/lib/bb/runqueue.<u></u>py", line 1365, in RunQueueExecuteTasks.execute()<u></u>:<br>
<br>
> if self.rq.check_stamp_task(task, taskname, cache=self.stampcache):<br>
logger.debug(2, "Stamp current task %s (%s)", task,<br>
File "/opt/bitbake/lib/bb/runqueue.<u></u>py", line 821, in RunQueue.check_stamp_task(<u></u>task=0, taskname='do_build', recurse=False, cache={}):<br>
# If the stamp is missing its not current<br>
> if not os.access(stampfile, os.F_OK):<br>
logger.debug(2, "Stampfile %s not available", stampfile)<br>
TypeError: coercing to Unicode: need string or buffer, NoneType found<br>
</blockquote>
<br>
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.<br>
<br>
Essentially, I have three files:<br>
<br>
conf/bitbake.conf<br>
---8<--------------->8---<br>
BBFILES = "*.bb"<br>
CACHE = "/tmp/bbcache"<br>
---8<--------------->8---<br>
<br>
classes/base.bbclass<br>
---8<--------------->8---<br>
addtask build<br>
<br>
do_build () {<br>
:<br>
}<br>
---8<--------------->8---<br>
<br>
<a href="http://hello.bb" target="_blank">hello.bb</a><br>
---8<--------------->8---<br>
PROVIDES="hello"<br>
<br>
do_build () {<br>
echo "Hello, World!"<br>
}<br>
---8<--------------->8---<br>
<br>
I then invoke "env BBPATH=$PWD bitbake hello" and get the above exception.<br>
<br>
Clearly, I'm missing something crucial, but what? Can you help me figure out what the minimal "hello world" recipe might look like?<br>
<br>
Thanks in advance<br>
<br>
Andrew<br>
<br>
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.<br>
</blockquote><div><br></div><div style>This doesn't answer your problem directy, and you may have seen this tutorial already, but in case not:</div><div style><br></div><div style><a href="http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/">http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/</a></div>
<div style><br></div><div style>Note that I'm including a hello world example in the new BitBake User Manual I'm working on.</div><div style> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
______________________________<u></u>_________________<br>
bitbake-devel mailing list<br>
<a href="mailto:bitbake-devel@lists.openembedded.org" target="_blank">bitbake-devel@lists.<u></u>openembedded.org</a><br>
<a href="http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel" target="_blank">http://lists.linuxtogo.org/<u></u>cgi-bin/mailman/listinfo/<u></u>bitbake-devel</a><br>
</blockquote></div><br></div></div>