[yocto] RDEPENDS on package does not include package in rootfs

Paul Eggleton paul.eggleton at linux.intel.com
Thu Aug 17 03:00:21 PDT 2017


On Thursday, 17 August 2017 9:55:09 PM NZST Dr. Matthias Schöpfer wrote:
 On 08/17/2017 11:27 AM, Paul Eggleton wrote:
> > On Thursday, 17 August 2017 8:43:41 PM NZST Dr. Matthias Schöpfer wrote:
> >> Here is my problem, maybe I misunderstood something. I have a library
> >> recipe, lets name it foo, that DEPENDS on mosquitto from
> >> meta-intel-iot-middleware. I added a RDEPENDS_${PN} += " libmosquitto1
> >> ", as the mosquitto package adds this extra package for the mosquitto
> >> library, that library foo depends on. Then I have my app "bar", that
> >> depends on "foo". "bar" is added to the image recipe. The rootfs is
> >> missing out the package libmosquitto1, and therefore missing the
> >> mosquitto library. Workaround is to add libmosquitto explicitly to the
> >> Image recipe, but as I understand, this should not me necessary.
> >
> > Something is odd here because if your foo library links to libmosquitto1.so.1
> > then it should already get a runtime dependency on the libmosquitto1 package
> > without you needing to add it. I would perhaps suggest looking at pkgdata - 
> > bitbake -e foo | grep PKGDATA_DIR  and then look in runtime/foo under that 
> > and see what RDEPENDS is indicated in there.
> >
> Thanks for the hint. All I can say is that it looks good:
> 
> RDEPENDS_foo: libstdc++ (>= 6.3.0) glibc (>= 2.25) libcrypto (>= 1.0.2k)
> jsoncpp (>= 1.8.0) libmosquitto1 (>= 1.4.10) libcurl (>= 7.53.1) libgcc
> (>= 6.3.0) libssl (>= 1.0.2k)
> 
> Then, in bar
> 
> RDEPENDS_bar: foo (>= 1.4.0-git0e371231) glibc (>= 2.25) jsoncpp (>=
> 1.8.0) libstdc++ (>= 6.3.0) libgcc (>= 6.3.0)
> 
> (foo and bar of course replacements to protect the innocent)
> 
> Again, libmosquitto1 is missing in rootfs except if I add the package to
> the image recipe.

That's very strange. I can only think that the package manager is ignoring that directive, or it's somehow being satisfied by some other package, or it's otherwise being instructed to exclude it.
 
> I am using pyro, if that is of any help.

Which package backend (rpm / ipk / deb) ?

Cheers,|
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list