首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用yocto为Raspberry pi 3生成图像时的解析错误

使用yocto为Raspberry pi 3生成图像时的解析错误
EN

Stack Overflow用户
提问于 2017-02-21 10:19:23
回答 1查看 801关注 0票数 0

我试图通过引用来使用yocto为Raspberry pi 3构建图像,同时运行bitbake命令,我得到了以下错误。

在错误日志中,它表示在执行python函数时出现了错误,但没有关于错误的详细信息,我可以看到异常" exception : TypeError: getVar()至少有3个参数(2给定)“。但在yocto的许多地方,我可以看到,getVar只拿了两个论点。

你能指导解决这个问题吗?我可以看到d.getVar()很多地方,你能告诉我这里是什么吗?我在yocto文档中搜索,但是没有找到任何解释什么是d的信息。

代码语言:javascript
复制
ERROR: /home/ubuntu/raspberryYocto/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb: Error executing a python function in <code>:

The stack trace of python calls that resulted in this exception/failure was: File: '<code>', lineno: 17, function: <module>
     0013:__anon_146__home_ubuntu_raspberryYocto_poky_meta_classes_siteinfo_bbclass(d)
     0014:__anon_381__home_ubuntu_raspberryYocto_poky_meta_classes_kernel_yocto_bbclass(d)
     0015:__anon_6__home_ubuntu_raspberryYocto_poky_meta_recipes_kernel_linux_linux_dtb_inc(d)
     0016:__anon_148__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_rpi_inc(d)  *** 0017:__anon_39__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_raspberrypi_inc(d) File: '/home/ubuntu/raspberryYocto/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc', lineno: 38, function:
__anon_39__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_raspberrypi_inc
     0034:# See http://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html#anonymous-python-functions
     0035:python __anonymous () {
     0036:    kerneltype = d.getVar('KERNEL_IMAGETYPE', True)
     0037:    kerneldt = get_dts(d, d.getVar('LINUX_VERSION', True))  *** 0038:    d.setVar("KERNEL_DEVICETREE", kerneldt)
     0039:}
     0040:
     0041:do_kernel_configme_prepend() {
     0042:    install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available." File: '/home/ubuntu/raspberryYocto/meta-raspberrypi/classes/linux-raspberrypi-base.bbclass', lineno: 6, function: get_dts
     0002:
     0003:def get_dts(d, ver=None):
     0004:    import re
     0005:  *** 0006:    staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR")
     0007:    dts = d.getVar("KERNEL_DEVICETREE")
     0008:
     0009:    # d.getVar() might return 'None' as a normal string
     0010:    # leading to 'is None' check isn't enough. Exception: TypeError: getVar() takes at least 3 arguments (2 given)

ERROR: Failed to parse recipe: /home/ubuntu/raspberryYocto/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb ERROR: /home/ubuntu/raspberryYocto/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.4.bb: Error executing a python function in <code>:

The stack trace of python calls that resulted in this exception/failure was: File: '<code>', lineno: 17, function: <module>
     0013:__anon_146__home_ubuntu_raspberryYocto_poky_meta_classes_siteinfo_bbclass(d)
     0014:__anon_381__home_ubuntu_raspberryYocto_poky_meta_classes_kernel_yocto_bbclass(d)
     0015:__anon_6__home_ubuntu_raspberryYocto_poky_meta_recipes_kernel_linux_linux_dtb_inc(d)
     0016:__anon_148__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_rpi_inc(d)  *** 0017:__anon_39__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_raspberrypi_inc(d) File: '/home/ubuntu/raspberryYocto/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc', lineno: 38, function:
__anon_39__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_raspberrypi_inc
     0034:# See http://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html#anonymous-python-functions
     0035:python __anonymous () {
     0036:    kerneltype = d.getVar('KERNEL_IMAGETYPE', True)
     0037:    kerneldt = get_dts(d, d.getVar('LINUX_VERSION', True))  *** 0038:    d.setVar("KERNEL_DEVICETREE", kerneldt)
     0039:}
     0040:
     0041:do_kernel_configme_prepend() {
     0042:    install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available." File: '/home/ubuntu/raspberryYocto/meta-raspberrypi/classes/linux-raspberrypi-base.bbclass', lineno: 6, function: get_dts
     0002:
     0003:def get_dts(d, ver=None):
     0004:    import re
     0005:  *** 0006:    staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR")
     0007:    dts = d.getVar("KERNEL_DEVICETREE")
     0008:
     0009:    # d.getVar() might return 'None' as a normal string
     0010:    # leading to 'is None' check isn't enough. Exception: TypeError: getVar() takes at least 3 arguments (2 given)

ERROR: /home/ubuntu/raspberryYocto/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_dev.bb: Error executing a python function in <code>:

The stack trace of python calls that resulted in this exception/failure was: File: '<code>', lineno: 17, function: <module>
     0013:__anon_146__home_ubuntu_raspberryYocto_poky_meta_classes_siteinfo_bbclass(d)
     0014:__anon_381__home_ubuntu_raspberryYocto_poky_meta_classes_kernel_yocto_bbclass(d)
     0015:__anon_6__home_ubuntu_raspberryYocto_poky_meta_recipes_kernel_linux_linux_dtb_inc(d)
     0016:__anon_148__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_rpi_inc(d)  *** 0017:__anon_39__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_raspberrypi_inc(d) File: '/home/ubuntu/raspberryYocto/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc', lineno: 38, function:
__anon_39__home_ubuntu_raspberryYocto_meta_raspberrypi_recipes_kernel_linux_linux_raspberrypi_inc
     0034:# See http://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html#anonymous-python-functions
     0035:python __anonymous () {
     0036:    kerneltype = d.getVar('KERNEL_IMAGETYPE', True)
     0037:    kerneldt = get_dts(d, d.getVar('LINUX_VERSION', True))  *** 0038:    d.setVar("KERNEL_DEVICETREE", kerneldt)
     0039:}
     0040:
     0041:do_kernel_configme_prepend() {
     0042:    install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available." File: '/home/ubuntu/raspberryYocto/meta-raspberrypi/classes/linux-raspberrypi-base.bbclass', lineno: 6, function: get_dts
     0002:
     0003:def get_dts(d, ver=None):
     0004:    import re
     0005:  *** 0006:    staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR")
     0007:    dts = d.getVar("KERNEL_DEVICETREE")
     0008:
     0009:    # d.getVar() might return 'None' as a normal string
     0010:    # leading to 'is None' check isn't enough. Exception: TypeError: getVar() takes at least 3 arguments (2 given)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-21 10:29:19

我已经面临同样的问题,并通过切换到morty分支,在层,同样的分支,我的棘手的环境。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42364579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档