The T variable points to a directory were Bitbake places temporary files when building a particular package. It is typically set to
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-layersParsing recipes..done.
layer path priority==========================================================LayerA /home/pturley/Workspace/Hello/LayerA 1
$ ../BitBake/bin/bitbake-layers show-recipesParsing 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 aLoading cache: 100% |###############################################################| ETA: 00:00:00Loaded 2 entries from dependency cache.NOTE: Resolving any missing task queue dependenciesNOTE: Preparing runqueueNOTE: Executing RunQueue TasksNOTE: Running task 1 of 1 (ID: 0, /home/pturley/Workspace/Hello/LayerA/a.bb, do_listtasks)ERROR: T variable not set, unable to buildERROR: 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_listtasksSummary: There was 1 ERROR message shown, returning a non-zero exit code.
$ ../BitBake/bin/bitbake aLoading cache: 100% |###############################################################| ETA: 00:00:00Loaded 2 entries from dependency cache.NOTE: Resolving any missing task queue dependenciesNOTE: Preparing runqueueNOTE: Executing RunQueue TasksNOTE: Running task 1 of 1 (ID: 0, /home/pturley/Workspace/Hello/LayerA/a.bb, do_build)ERROR: T variable not set, unable to buildERROR: 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_buildSummary: 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:
I have the 1.15.2 tag checked out, which is whatYocto denzil uses.
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto