首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在生成根文件时,向Yocto添加新配方失败

在生成根文件时,向Yocto添加新配方失败
EN

Stack Overflow用户
提问于 2016-11-02 05:12:13
回答 2查看 530关注 0票数 1

我一直在使用Yocto为ARM板创建Linux版本。

我一直在手动交叉编译附加应用程序。现在我们在一个地方,我们需要一个很好的集成构建,所以我开始添加自定义食谱到yocto。

我一直在为ARM构建而苦苦挣扎(使用相同代码的x86构建似乎很好)。

即使是开发手册中基本的“hello world”也不起作用(http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#new-recipe-writing-a-new-recipe)

下面是食谱:

代码语言:javascript
复制
SUMMARY = "Simple helloworld application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

RPROVIDES_${PN} = "helloworld"

FILES_${PN} += "${bindir}"

SRC_URI = "file://helloworld.c"

S = "${WORKDIR}"

do_compile() {
        ${CC} helloworld.c -o helloworld ${LDFLAGS}
}

do_install() {
        install -d ${D}${bindir}
        install -m 0755 helloworld ${D}${bindir}
}

下面是错误:

代码语言:javascript
复制
ERROR: helloworld not found in the base feeds (smarc_samx6i cortexa9t2hf-vfp-neon-mx6qdl cortexa9hf-vfp-neon-mx6qdl cortexa9t2hf-vfp-neon cortexa9t2hf-vfp cortexa9hf-vfp-neon cortexa9hf-vfp armv7at2hf-vfp-neon armv7ahf-vfp-neon armv7at2hf-vfp armv7ahf-vfp armv6thf-vfp armv6hf-vfp armv5tehf-vfp armv5ehf-vfp armv5thf-vfp armv5hf-vfp noarch any all).
ERROR: Function failed: do_rootfs

对于导致这个错误的原因有什么建议吗?

包确实可以正确构建;问题似乎与为rootfs找到它有关。

谢谢!

编辑:我有一个似乎有效的解决方案,尽管这不是理想的长期解决方案。

将IMAGE_INSTALL下的包名从helloworld更改为helloworld-0.0.1可解决此问题。显然,我不希望在顶级食谱中硬编码每个包的版本,其他包也不需要这样做,所以希望有另一个解决方案。

编辑2:重命名配方并删除版本字符串也解决了这个问题。再说一次,从长远来看,这似乎并不理想。

EN

回答 2

Stack Overflow用户

发布于 2017-04-06 14:12:00

1.将配方名称重命名为hello_0.1.bb

2.最后只添加下面一行:

代码语言:javascript
复制
FILES_${PN} = "${bindir}/*"  

Abvoe行帮助您将二进制文件复制到rootfs。

票数 1
EN

Stack Overflow用户

发布于 2016-11-03 04:38:16

好的,经过进一步的测试,我发现这是一个食谱的命名问题。

它被命名为helloworld-0.0.1.bb (与我放在一起的其他食谱的格式相同,促使我尝试这个简单的测试)。

如果其他任何人遇到此问题,只需将“-”替换为“_”即可解决此问题。

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

https://stackoverflow.com/questions/40368710

复制
相关文章

相似问题

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