私が抱えている問題は、bitbake を使用してゼロから Angstrom イメージを構築しようとしているということです (Angstrom は Yocto と互換性があるため)。bitbake systemd-image
Traceback (most recent call last):
File "/usr/bin/bitbake", line 234, in <module>
ret = main()
File "/usr/bin/bitbake", line 197, in main
server = ProcessServer(server_channel, event_queue, configuration)
File "/usr/lib/pymodules/python2.7/bb/server/process.py", line 78, in __init__
self.cooker = BBCooker(configuration, self.register_idle_function)
File "/usr/lib/pymodules/python2.7/bb/cooker.py", line 76, in __init__
self.parseConfigurationFiles(self.configuration.file)
File "/usr/lib/pymodules/python2.7/bb/cooker.py", line 510, in parseConfigurationFiles
data = _parse(os.path.join("conf", "bitbake.conf"), data)
TypeError: getVar() takes exactly 3 arguments (2 given)
ERROR: Error evaluating '${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", d)}${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", ":thumb-interwork", "", d)}'
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 116, in expandWithRefs
s = __expand_var_regexp__.sub(varparse.var_sub, s)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 60, in var_sub
var = self.d.getVar(key, 1)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 260, in getVar
return self.expand(value, var)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 132, in expand
return self.expandWithRefs(s, varname).value
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 117, in expandWithRefs
s = __expand_python_regexp__.sub(varparse.python_sub, s)
TypeError: getVar() takes exactly 3 arguments (2 given)
ERROR: Error evaluating '${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}'
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 117, in expandWithRefs
s = __expand_python_regexp__.sub(varparse.python_sub, s)
File "/usr/lib/pymodules/python2.7/bb/data_smart.py", line 76, in python_sub
value = utils.better_eval(codeobj, DataContext(self.d))
File "/usr/lib/pymodules/python2.7/bb/utils.py", line 387, in better_eval
return eval(source, _context, locals)
File "PN", line 1, in <module>
TypeError: getVar() takes exactly 3 arguments (2 given)
私はしばらくの間、さまざまなサイトで検索していました。最初は、Angstrom サイトの開発者セクションのガイドに従ってみましたが、いくつかのエラーが発生すると (ここに掲載する前に)、Derek Molloy のサイトhttp://derekmolloy.ie/building-angstrom-を見つけました。 for-beaglebone-from-source/はこれらのエラーを解決し、プロセスをもう少し詳しく説明しました。
最終的に、私の問題を説明する別のフォーラム投稿に出くわしましたが、残念ながら答えは本当に明確ではありませんでした (とにかく私にとって) http://comments.gmane.org/gmane.linux.distributions.angstrom.devel/7431。私は何が間違っているのか途方に暮れており、Yoctoプロジェクトにかなり慣れていないので、欠けている手順や見落としている暗黙の何かがあるかどうかわからないので、指摘できる人に深く感謝しますこれで正しい方向に私。
補足として、私の環境は environment-angstrom-v2013.12 であり、他のすべての例は以前のバージョンを使用しているため、私が持っている environment-angstrom-... ファイルに関係があるのではないかと考えていました。これで作業するときに新しいステップが含まれているかどうか疑問に思っています。