[yocto] Yocto newbie: Need help with recipe

Rudolf J Streif rudolf.streif at ibeeto.com
Fri Nov 8 05:05:59 PST 2019


I suppose you just removed setting the PACKAGES variable from your recipe?

You are including

require recipes-qt/qt5/qt5.inc

which redefines the PACKAGES variable adding a ${PN}-tools package that
consumes what's in {bindir}. I am not sure why you are including qt5.inc as

DEPENDS += "qtbase"

should suffice to build against Qt. qt5.inc is for building Qt itself.

:rjs

On 11/8/19 2:34 AM, Berthold Höllmann wrote:
> Rudolf Streif <rudolf.streif at ibeeto.com> writes:
>
>> Hi Berthold,
>>
>> Welcome to the Yocto Project.
> Thank You
>
>> This line is the problem with your recipe:
>>
>> PACKAGES = "${PN}"
>>
>> This tells the build system to only create one package, the default
>> package. Because this line FILES_${PN} = "${bindir}" tells the build system
>> to include everything in ${bindir} into that package the package also
>> includes the .debug directory which is then flagged by the QA checker. To
>> fix this:
>>
>> PACKAGES = "${PN}-dbg ${PN}"
>>
>> You have to specify the debug package before the default package as the
>> variable is processed from left to right and whatever is consumed by a
>> package will not be packaged anymore. However, even simpler is to remove
>> the PACKAGES line altogether as the default already does it correctly.
>>
>> Best regards,
>> :rjs
> OK, the project is building now, but for some reasons the generated
> executable is ending up in the wrong package (I renamed executable and
> recipes in order to try to fix this):
>
> build at 812ee6d53ca8:~/shared/rpi/rpi2-build$ dpkg -c tmp/deploy/ipk/cortexa7t2hf-neon-vfpv4/lissajousexplorer_git-r0_cortexa7t2hf-neon-vfpv4.ipk 
> drwxrwxrwx root/root         0 2019-11-08 10:04 ./
> build at 812ee6d53ca8:~/shared/rpi/rpi2-build$ dpkg -c tmp/deploy/ipk/cortexa7t2hf-neon-vfpv4/lissajousexplorer-tools_git-r0_cortexa7t2hf-neon-vfpv4.ipk 
> drwxrwxrwx root/root         0 2019-11-08 10:04 ./
> drwxr-xr-x root/root         0 2019-11-08 10:03 ./usr/
> drwxr-xr-x root/root         0 2019-11-08 10:03 ./usr/bin/
> -rwxr-xr-x root/root     38392 2019-11-08 10:03 ./usr/bin/lissajousexplorer
>
> The executable is ending up in the "lissajousexplorer-tools" package,
> instead of the "lissajousexplorer" package, why is that?
>
> Best regards,
> Berthold
>
>>
>>
>> On Thu, Nov 7, 2019 at 12:04 PM Berthold Höllmann <
>> berthold-yocto at höllmanns.de> wrote:
>>
>>> Hello,
>>>
>>> I'm trying my way around yocto. I thought I try adding a small project
>>> of mine to a Raspberry Pi image as a first try in writing recipes. At
>>> least I managed to get the project compiling, but the generation of the
>>> packages is failing:
>>>
>>> $ bitbake  qtlissajous
>>> ...
>>> ERROR: qtlissajous-git-r0 do_package_qa: QA Issue: non debug package
>>> contains .debug directory: qtlissajous path
>>> /work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtlissajous/git-r0/packages-split/qtlissajous/usr/bin/.debug/lissajous_explorer
>>> [debug-files]
>>> ERROR: qtlissajous-git-r0 do_package_qa: QA run found fatal errors. Please
>>> consider fixing them.
>>> ERROR: qtlissajous-git-r0 do_package_qa:
>>> ERROR: qtlissajous-git-r0 do_package_qa: Function failed: do_package_qa
>>> ERROR: Logfile of failure stored in:
>>> /home/build/shared/rpi/rpi2-build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtlissajous/git-r0/temp/log.do_package_qa.4823
>>> ERROR: Task
>>> (/home/build/shared/rpi/meta-qtlissajous/recipes-qtlissajous/qtlissajous/qtlissajous_git.bb:do_package_qa)
>>> failed with exit code '1'
>>> ...
>>>
>>> $ (cd
>>> /home/build/shared/rpi/rpi2-build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtlissajous/git-r0/packages-split/;find
>>> -type f)
>>>
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/build/moc_doubleslider.cpp
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/build/moc_phaselabel.cpp
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/doubleslider.cpp
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/doubleslider.h
>>>
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_explorer.cpp
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_explorer.h
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_grid.cpp
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/lissajous_grid.h
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/main.cpp
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/phaselabel.cpp
>>> ./qtlissajous-src/usr/src/debug/qtlissajous/git-r0/git/phaselabel.h
>>> ./qtlissajous-tools/usr/bin/lissajous_explorer
>>> ./qtlissajous/usr/bin/.debug/lissajous_explorer
>>> ./qtlissajous-tools.shlibdeps
>>>
>>> My qtlissajous_git.gg file is:
>>>
>>> -------------------------------------------------------
>>> DESCRIPTION = "Explore Lissajous figures for Raspberry Pi"
>>> SECTION = "games"
>>> DEPENDS += "qtbase"
>>>
>>> PACKAGES = "${PN}"
>>>
>>> LICENSE = "MIT"
>>> LIC_FILES_CHKSUM =
>>> "file://LICENSE;md5=7e26fc87b2c255632232dc535ed2700b;sha256=c8ea5a5ce0ef734ec1d0be3e214bed71673f1ffc628fe86bbd055d61abd52cc8"
>>>
>>> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
>>>
>>> SRCREV = "${AUTOREV}"
>>> SRC_URI = "git://gitlab.com/bhoel/qlissajousexplorer.git;protocol=https"
>>>
>>> S = "${WORKDIR}/git"
>>>
>>> require recipes-qt/qt5/qt5.inc
>>>
>>> FILES_${PN} = "${bindir}"
>>> FILES_${PN}-dbg += "${bindir}/.debug"
>>>
>>> do_install() {
>>>       install -d ${D}/usr/bin
>>>       install -m 0755 lissajous_explorer ${D}/usr/bin
>>> }
>>>
>>> RDEPENDS_${PN} = "qtbase-plugins"
>>> -------------------------------------------------------
>>>
>>> Why is the release executable ending up in the tools tree?
>>> Why is the debug executable ending up in the release tree?
>>> Is this the right place to ask this kind of questions?
>>>
>>> Thank you
>>> Berthold
>>> --
>>> _______________________________________________
>>> yocto mailing list
>>> yocto at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>>
>>>
-- 
Rudolf J Streif
CEO/CTO
ibeeto
1.855.442.3386 x700

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20191108/a29d4307/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20191108/a29d4307/attachment-0001.pgp>


More information about the yocto mailing list