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

Zoran Stojsavljevic zoran.stojsavljevic at gmail.com
Wed Jul 18 04:37:52 PDT 2018


Hello YOCTO community,

Since I need to build the latest and the greatest Github creations
from the independent contributors, I decided myself to write few YOCTO
recipes and to get myself to this (un)pleasant learning path.

I did few examples, simplistic ones, before I took more complex
recipes to write.

And... I need this one, Cannelloni, one defined here:
https://github.com/mguentner/cannelloni

I guess, I figured out couple of stuff, but the last one, RDEPENDS, I
could not figure out.

I can figure it out with normal Linux installation, and here is how it
is solved in Run Time:

export LD_LIBRARY_PATH=/usr/local/lib ## where DLL
libcannelloni-common.so resides after installation!

Here is what/how the actual error looks like: cannelloni.log (attached).

Please, pay attention to the following log line:

ERROR: cannelloni-1.0-r0 do_package_qa: QA Issue: package cannelloni
contains bad RPATH
/home/netmodule.intranet/stojsavljevic/projects/beaglebone-black/yocto-rocko/poky/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/build:
in file /home/netmodule.intranet/stojsavljevic/projects/beaglebone-black/yocto-rocko/poky/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/packages-split/cannelloni/usr/bin/cannelloni
[rpaths]
ERROR: cannelloni-1.0-r0 do_package_qa: QA Issue: /usr/bin/cannelloni
contained in package cannelloni requires libcannelloni-common.so, but
no providers found in RDEPENDS_cannelloni? [file-rdeps]
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

The cannelloni recipe is listed below:

SUMMARY = "SocketCAN over Ethernet tunnel using UDP to transfer CAN
frames between two machines"
SECTION = "canapp"
## LICENSE = "CLOSED"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM =
"file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
PR = "r0"

DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd',
'systemd', '', d)}"
## RDEPENDS_${PN} = "???"

SRCREV = "e3ac7393b566345d057c2d17a4d328007caaacac"

SRC_URI = "git://github.com/mguentner/cannelloni"

S = "${WORKDIR}/git"

inherit pkgconfig cmake
inherit systemd

EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release"

do_install() {
    install -d ${D}${bindir}
    install -m 0755 cannelloni ${D}${bindir}
}

Thank you in advance,
Zoran Stojsavljevic


More information about the yocto mailing list