Re: [yocto] Yocto newbie: Need help with recipe
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 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@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@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@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 = >>>
Re: [yocto] Yocto newbie: Need help with recipe
Rudolf Streif 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@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@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@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" >>
Re: [yocto] Yocto newbie: Need help with recipe
Hi Berthold, Welcome to the Yocto Project. 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 On Thu, Nov 7, 2019 at 12:04 PM Berthold Höllmann < berthold-yocto@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@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > -- Rudolf J Streif CEO/CTO ibeeto, Streif Enterprises Inc. -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] Yocto newbie: Need help with recipe
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 signature.asc Description: PGP signature -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto