[yocto] [Chicken and Egg problem] Defining RDEPENDS of the package itself!

Zoran Stojsavljevic zoran.stojsavljevic at gmail.com
Thu Jul 19 00:22:22 PDT 2018


Hello Andre,

Thank you for the tips.

Tried what you have suggested. I had some errors, again in
do_install(), then I read .log, and fixed the paths.

This is my recipe, important part of it, as of now:
_______

S = "${WORKDIR}/git"

inherit pkgconfig cmake
inherit systemd

EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release"

INSANE_SKIP_${PN} = "ldflags"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
SOLIBS = ".so"
FILES_SOLIBSDEV = ""

do_install () {
    install -d ${D}${libdir}
    install -m 0755 cannelloni ${D}${bindir}
    install -m 0755 ${WORKDIR}/build/libcannelloni-common.so ${D}${libdir}
}
_______

Where I modified install directories. ${libdir} is /usr/lib (instead
/usr/local/lib), all cool with this one as well.

(I guess, I could use LOCAL_LIB =  "/usr/local/lib", and then change
${libdir} with ${LOCAL_LIB})

I went further with bitbake. Now I am failing in do_package()
(inherited from default), with the following ERRORs:

ERROR: cannelloni-1.0-r0 do_package: QA Issue: cannelloni:
Files/directories were installed but not shipped in any package:
  /usr/bin
Please set FILES such that these items are packaged. Alternatively if
they are unneeded, avoid installing them or delete them within
do_install.
cannelloni: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: cannelloni-1.0-r0 do_package: Fatal QA errors found, failing task.
ERROR: cannelloni-1.0-r0 do_package: Function failed: do_package
ERROR: Logfile of failure stored in:
/home/netmodule.intranet/stojsavljevic/projects/beaglebone-black/yocto-rocko/poky/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/temp/log.do_package.3501
ERROR: Task (/home/netmodule.intranet/stojsavljevic/projects/beaglebone-black/yocto-rocko/poky/meta-test-layer/recipes-canapp/cannelloni/cannelloni.bb:do_package)
failed with exit code '1'
NOTE: Tasks Summary: Attempted 535 tasks of which 524 didn't need to
be rerun and 1 failed.

Any take on that?
_______

Mirza,

Actually, the recipe I am showing here is the GENIVI (the same you
pointed to), but heavily modified. :-)

And, yes, I am using latest sumo.

Thank you all,
Zoran
_______

On Wed, Jul 18, 2018 at 7:06 PM, Andre McCurdy <armccurdy at gmail.com> wrote:
> On Wed, Jul 18, 2018 at 7:04 AM, Zoran Stojsavljevic
> <zoran.stojsavljevic at gmail.com> wrote:
>> Yep. Did it. Some symlink is missing (I guess, symlink to
>> /usr/local/lib/libcannelloni-common.so???
>>
>> Initialising tasks: 100%
>> |#############################################################################################################################################################|
>> Time: 0:00:00
>> NOTE: Executing SetScene Tasks
>> NOTE: Executing RunQueue Tasks
>> ERROR: cannelloni-1.0-r0 do_package_qa: QA Issue: cannelloni rdepends on
>> cannelloni-dev [dev-deps]
>> ERROR: cannelloni-1.0-r0 do_package_qa: QA Issue: -dev package contains
>> non-symlink .so: cannelloni-dev path
>> '/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/packages-split/cannelloni-dev/usr/lib/libcannelloni-common.so'
>> [dev-elf]
>> ERROR: cannelloni-1.0-r0 do_package_qa: QA run found fatal errors. Please
>> consider fixing them.
>> ERROR: cannelloni-1.0-r0 do_package_qa: Function failed: do_package_qa
>> ERROR: Logfile of failure stored in:
>> /home/netmodule.intranet/stojsavljevic/projects/beaglebone-black/yocto-rocko/poky/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/temp/log.do_package_qa.7896
>> ERROR: Task
>> (/home/netmodule.intranet/stojsavljevic/projects/beaglebone-black/yocto-rocko/poky/meta-test-layer/recipes-canapp/cannelloni/cannelloni.bb:do_package_qa)
>> failed with exit code '1'
>> NOTE: Tasks Summary: Attempted 539 tasks of which 532 didn't need to be
>> rerun and 1 failed.
>>
>> Summary: 1 task failed:
>>
>> /home/netmodule.intranet/stojsavljevic/projects/beaglebone-black/yocto-rocko/poky/meta-test-layer/recipes-canapp/cannelloni/cannelloni.bb:do_package_qa
>> Summary: There were 2 WARNING messages shown.
>> Summary: There were 4 ERROR messages shown, returning a non-zero exit code.
>>
>> How I can add this symlink (!) to this recipe?
>
> The error says "-dev package contains non-symlink .so".
>
> Simply adding a symlink somewhere will not help. The fix is to ensure
> that libcannelloni-common.so gets packaged in the main run-time
> package (and not in the -dev package).
>
> Reading the section about non-versioned shared libraries here might help:
>
>   https://wiki.yoctoproject.org/wiki/TipsAndTricks/Packaging_Prebuilt_Libraries


More information about the yocto mailing list