I am continuing my work on creating a "Hello, World!" BitBake project. Because of the excellent help I got before, things have gone reasonably well, but I'm again running into something I don't know how to fix.
As before, the entire contents of my very small project appear at the end of this message. Here's what works fine: $ ../BitBake/bin/bitbake-layers show-layers Parsing recipes..done. layer path priority ========================================================== LayerA /home/pturley/Workspace/Hello/LayerA 1 $ ../BitBake/bin/bitbake-layers show-recipes Parsing recipes..done. === Available recipes: === a: LayerA 1 When I tried this: ../BitBake/bin/bitbake -c listtasks a I got a Python stack trace that ended here: File "../BitBake/lib/bb/runqueue.py", line 902, in RunQueue.check_stamp_task(task=0, taskname='do_listtasks', recurse=False): # 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 This code isn't expecting the "stampfile" variable to be "None" (which it is), so it freaks out. I made a very simple fix to get past the problem: if not stampfile or not os.access(stampfile, os.F_OK): That made a dramatic difference, and enabled me to get this far: $ ../BitBake/bin/bitbake -c listtasks a Loading cache: 100% |###############################################################| ETA: 00:00:00 Loaded 2 entries from dependency cache. NOTE: Resolving any missing task queue dependencies NOTE: Preparing runqueue NOTE: Executing RunQueue Tasks NOTE: Running task 1 of 1 (ID: 0, /home/pturley/Workspace/Hello/LayerA/a.bb, do_listtasks) ERROR: T variable not set, unable to build ERROR: Task 0 (/home/pturley/Workspace/Hello/LayerA/a.bb, do_listtasks) failed with exit code '1' NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and 1 failed. Summary: 1 task failed: /home/pturley/Workspace/Hello/LayerA/a.bb, do_listtasks Summary: There was 1 ERROR message shown, returning a non-zero exit code. $ ../BitBake/bin/bitbake a Loading cache: 100% |###############################################################| ETA: 00:00:00 Loaded 2 entries from dependency cache. NOTE: Resolving any missing task queue dependencies NOTE: Preparing runqueue NOTE: Executing RunQueue Tasks NOTE: Running task 1 of 1 (ID: 0, /home/pturley/Workspace/Hello/LayerA/a.bb, do_build) ERROR: T variable not set, unable to build ERROR: Task 0 (/home/pturley/Workspace/Hello/LayerA/a.bb, do_build) failed with exit code '1' NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and 1 failed. Summary: 1 task failed: /home/pturley/Workspace/Hello/LayerA/a.bb, do_build Summary: There was 1 ERROR message shown, returning a non-zero exit code. As you can see, BitBake is expecting the "T" variable to be set. I don't think I've ever seen this variable -- so I don't know what it's for or what I should change. Can anyone offer a hint? ------------------------------------------------------------ ├── build │ │ │ ├── classes │ │ │ │ │ └── base.bbclass │ │ │ │ +----------------------------------------------- │ │ | addtask listtasks │ │ | │ │ | do_listtasks[nostamp] = "1" │ │ | │ │ | python do_listtasks() { │ │ | import sys │ │ | # emit variables and shell functions │ │ | #bb.data.emit_env(sys.__stdout__, d) │ │ | # emit the metadata which isnt valid shell │ │ | for e in d.keys(): │ │ | if d.getVarFlag(e, 'task'): │ │ | bb.plain("%s" % e) │ │ | } │ │ | │ │ | addtask build │ │ | │ │ | do_build() { │ │ | echo "Hello" │ │ | } │ │ +----------------------------------------------- │ │ │ └── conf │ │ │ ├── bblayers.conf │ │ │ │ +----------------------------------------------- │ │ | BBLAYERS ?= " \ │ │ | /home/pturley/Workspace/Hello/LayerA \ │ │ | " │ │ +----------------------------------------------- │ │ │ └── bitbake.conf │ │ +----------------------------------------------- │ | CACHE = "${TOPDIR}/cache" │ +----------------------------------------------- │ ├── LayerA │ │ │ ├── a.bb │ │ │ │ +----------------------------------------------- │ │ | DESCRIPTION = "Layer A Main Recipe" │ │ | PN = 'a' │ │ | PV = '1' │ │ +----------------------------------------------- │ │ │ └── conf │ │ │ └── layer.conf │ │ +----------------------------------------------- │ | BBPATH .= ":${LAYERDIR}" │ | │ | BBFILES += "${LAYERDIR}/*.bb" │ | │ | BBFILE_COLLECTIONS += "A" │ | BBFILE_PATTERN_A := "^${LAYERDIR}/" │ +----------------------------------------------- │ └── BitBake The BitBake directory origin is: http://git.openembedded.org/bitbake/ I have the 1.15.2 tag checked out, which is what Yocto denzil uses.
_______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto