0

我正在尝试编写自己的自定义食谱。我正在将 Yocto 项目与 Bitbake 一起使用。

bitbake apriltags给定命令时,以下程序包执行以下操作并在do_package

它成功地完成了以下任务:

do_fetch
unpack
do_compile

然后失败do_package

在我/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/apriltags/0.1-r4/git/build/lib那里有一个pkgconfig.pc并且libapriltags.a导致错误。

我的包装食谱:

DESCRIPTION = "Apriltags application" 
SECTION = "examples" 
LICENSE = "CLOSED" 
PR = "r3" 

DEPENDS = "opencv"

SRC_URI = "git://github.com/zafrullahsyed/apriltags.git;protocol=https;tag=v0.1"

S = "${WORKDIR}/git"

inherit pkgconfig autotools

do_install() {
    install -d ${D}${bindir}
    install -m 0755 ${WORKDIR}/git/build/bin/apriltags_demo ${D}${bindir}
}

我的错误如下:

ERROR: QA Issue: package apriltags contains bad RPATH /home/zaif/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/apriltags/0.1-r3/git/build/lib in file /home/zaif/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/apriltags/0.1-r3/packages-split/apriltags/usr/bin/apriltags_demo
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/zaif/yocto/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/apriltags/0.1-r3/temp/log.do_package.21621
ERROR: Task 10 (/home/zaif/yocto/poky/meta-bebot/recipes-bebot/apriltags/apriltags_0.1.bb, do_package) failed with exit code '1'
4

2 回答 2

1

Apriltags依赖项,需要根据您正在使用的机器进行修改。

您需要具有 , 的值,requires因此Libs需要Cflags。还要验证您是否需要python pod packages

于 2014-01-30T12:24:41.293 回答
0

我的包 Apriltags 具有不良依赖关系,根据 AprilTags/cmake/pods.cmake 中的 PC,例如 Eigen3(默认),而 OE eigen3 包是 libeigen。硬编码要求、Libs 和 Cflags,还删除了不需要的 python pod 包。


豆荚.cmake:

"Name: ${pc_name}\n"
        "Description: ${pc_description}\n"
        "Requires: ${libeigen}\n"
 #       "Version: ${pc_version}\n"
        "Libs: -L\${bindir} ${pc_libs}\n"
        "Cflags: -I\${bindir} ${pc_cflags}\n")

我的食谱如下:

DESCRIPTION = "Apriltags application" 
SECTION = "examples" 
LICENSE = "CLOSED" 
PR = "r5" 

DEPENDS = "opencv"

SRC_URI = "git://github.com/zafrullahsyed/apriltags.git;protocol=https;tag=v0.3"

S = "${WORKDIR}/git"

inherit pkgconfig autotools

do_install() {
    install -d ${D}${bindir}
    install -m 0755 ${WORKDIR}/git/build/bin/apriltags_demo ${D}${bindir}
}
于 2014-01-28T13:32:58.287 回答