简体   繁体   English

用于构建Angstrom的bitbake问题

[英]Issues with bitbake for building Angstrom

The issue I'm having is that I'm trying to build an Angstrom image from scratch using bitbake (since Angstrom is now Yocto Compatible) but I've run into an error the moment I run the bitbake systemd-image 我遇到的问题是我正在尝试使用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)

I've been at this for a while now, searching on different sites. 我已经有一段时间了,在不同的站点上搜索。 Originally I tried following the guide at the developer section on the Angstrom site, but once I got some errors (prior to this one I'm putting here), I found Derek Molloy's site http://derekmolloy.ie/building-angstrom-for-beaglebone-from-source/ which solved those errors and gave a little more detail into the process. 最初,我尝试按照Angstrom网站上开发人员部分的指南进行操作,但是一旦遇到一些错误(在此之前,我将其放在此处),我发现了Derek Molloy的网站http://derekmolloy.ie/building-angstrom- for-beaglebone-from-source /解决了这些错误,并提供了更多细节。

Eventually I stumbled onto another forum post which decribed my problem, but unfortunately the answers weren't really clear (for me anyway) http://comments.gmane.org/gmane.linux.distributions.angstrom.devel/7431 . 最终,我偶然发现了另一个描述我问题的论坛帖子,但是不幸的是,答案(对于我来说还是不清楚) http://comments.gmane.org/gmane.linux.distributions.angstrom.devel/7431 I'm at a loss on what could be wrong, and I'm pretty much new to Yocto project so I'm unsure if there's any steps missing or something that's implicit that I have overlooked, so I would deeply appreciate anyone who could point me on the right direction on this. 我对可能发生的问题不知所措,并且对Yocto项目非常陌生,因此我不确定是否遗漏了任何步骤或我忽略了一些隐含的内容,因此我深表感谢任何可以指出的人我在正确的方向上。

As side note, I've been thinking that it could be something having to do with the environment-angstrom-... file that I have, since mine is environment-angstrom-v2013.12 and all the other examples use previous versions, I'm wondering if there's a new step involved when working with this. 作为旁注,我一直认为这可能与我所拥有的environment-angstrom -...文件有关,因为我的文件是environment-angstrom-v2013.12,所有其他示例都使用以前的版本,我想知道在进行此操作时是否涉及新的步骤。

为什么要使用系统范围的Bitbake,而不是与Angstrom版本兼容的原因?

Don't use a system-wide bitbake, as the bitbake API can and does change over time. 不要使用系统范围内的Bitbake,因为bitbake API可以并且确实会随着时间而变化。 Use the corresponding bitbake for that release of angstrom. 使用相应的bitbake释放该埃。

(This is breaking because your bitbake requires getVar to take three arguments but your angstrom layers are only passing two) (这很麻烦,因为您的位烘烤要求getVar接受三个参数,但您的埃斯特层仅传递两个参数)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM