Bitbake 1.43.0版不能像bitbake用户手册所示的helloworld演示一样工作。
我跳回到了bitbake版本1.23.0,它运行良好。 但是,我无法在最新版本上使用它。 ....
base.bbclass
`addtask build'
.bblayer.conf
BBLAYERS ?= " \
/home/bubba/mylayer/ \
"
bitbake.conf
TMPDIR = "${TOPDIR}/tmp"
CACHE = "${TMPDIR}/cache"
STAMP = "${TMPDIR}/stamps"
T = "${TMPDIR}/work"
B = "${TMPDIR}"
printhello.bb 它位于另一个名为mylayer的目录中
DESCRIPTION = "Prints Hello World"
PN = 'printhello'
PV = '1'
python do_build() {
bb.plain("********************");
bb.plain("* *");
bb.plain("* Hello, World! *");
bb.plain("* *");
bb.plain("********************");
}
layer.conf 该文件位于mylayer / conf目录中
BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/*.bb"
BBFILE_COLLECTIONS += "mylayer"
BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
我执行bitbake printhello后打印的错误
bubba@bubbaMini:~/hello$ bitbake printhello
WARNING: Layer mylayer should set LAYERSERIES_COMPAT_mylayer in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: Layer mylayer should set LAYERSERIES_COMPAT_mylayer in its conf/layer.conf file to list the core layer names it is compatible with.
Parsing recipes: 100% |######################################################################################################################################################################| Time: 0:00:00
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: An uncaught exception occurred in runqueue################################################ | ETA: 0:00:00
Traceback (most recent call last):
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1500, in RunQueue.execute_runqueue():
try:
> return self._execute_runqueue()
except bb.runqueue.TaskFailure:
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1420, in RunQueue._execute_runqueue():
[43, 967, 4, 3, 1, 5, 3, 7, 13, 1, 2, 1, 1, 246, 35, 1, 38, 1, 35, 2, 338, 204, 142, 3, 3, 37, 244])
> if self.rqdata.prepare() == 0:
self.state = runQueueComplete
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1156, in RunQueueData.prepare():
todeal.remove(tid)
> self.prepare_task_hash(tid)
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1169, in RunQueueData.prepare_task_hash(tid='/home/bubba/mylayer/printhello.bb:do_build'):
self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc])
> self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname)
File "/home/bubba/bitbake/lib/bb/siggen.py", line 49, in SignatureGenerator.get_unihash(task='/home/bubba/mylayer/printhello.bb.do_build'):
def get_unihash(self, task):
> return self.taskhash[task]
KeyError: '/home/bubba/mylayer/printhello.bb.do_build'
ERROR: Running idle function
Traceback (most recent call last):
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1500, in RunQueue.execute_runqueue():
try:
> return self._execute_runqueue()
except bb.runqueue.TaskFailure:
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1420, in RunQueue._execute_runqueue():
[43, 967, 4, 3, 1, 5, 3, 7, 13, 1, 2, 1, 1, 246, 35, 1, 38, 1, 35, 2, 338, 204, 142, 3, 3, 37, 244])
> if self.rqdata.prepare() == 0:
self.state = runQueueComplete
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1156, in RunQueueData.prepare():
todeal.remove(tid)
> self.prepare_task_hash(tid)
File "/home/bubba/bitbake/lib/bb/runqueue.py", line 1169, in RunQueueData.prepare_task_hash(tid='/home/bubba/mylayer/printhello.bb:do_build'):
self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc])
> self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname)
File "/home/bubba/bitbake/lib/bb/siggen.py", line 49, in SignatureGenerator.get_unihash(task='/home/bubba/mylayer/printhello.bb.do_build'):
def get_unihash(self, task):
> return self.taskhash[task]
KeyError: '/home/bubba/mylayer/printhello.bb.do_build'
Summary: There were 2 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
....
我不确定为什么它在一个版本而不是另一个版本上失败。 如果有人能解释我做错了什么或我错过了哪一步,那么
答案 0 :(得分:0)
当bitbake没有正确设置目录路径时,此错误。
在linux上,运行export PATH=/path-to-bitbake-bin:$PATH