Bitbake не работает из-за ошибки do_package_qa?

Пытаюсь написать свой собственный рецепт. Я использую Yocto Project с 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'

person Zafrullah Syed    schedule 22.01.2014    source источник


Ответы (2)


Apriltags имеет зависимости, которые необходимо изменить в соответствии с машиной, на которой вы работаете.

Вам необходимо иметь значения requires, Libs и Cflags соответственно. Также проверьте, нужен ли вам python pod packages или нет.

person JHS    schedule 30.01.2014

Мой пакет Apriltags имеет плохие зависимости, соответствующие ПК в AprilTags/cmake/pods.cmake, такие как Eigen3 (по умолчанию), тогда как для пакета OE eigen3 используется libeigen. Жестко запрограммированы требования, Libs и Cflags, а также удалены ненужные пакеты python pod.


pods.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}
}
person Zafrullah Syed    schedule 28.01.2014