[yocto] Custom recipe - resolving "do_package_qa: QA Issue: -dev package contains non-symlink .so"

Jussi Kukkonen jussi.kukkonen at intel.com
Tue Aug 22 12:18:05 PDT 2017


On 22 August 2017 at 17:43, Colin Helliwell <colin.helliwell at ln-systems.com>
wrote:

>
> > On 22 August 2017 at 15:13 Jussi Kukkonen <jussi.kukkonen at intel.com>
> wrote:
> >
> > On 22 August 2017 at 16:43, <colin.helliwell at ln-systems.com> wrote:
> > >
> > > I have a custom recipe (for the AWS SDK), which is failing at the
> package_qa
> > > stage.
> > > The recipe is a very basic cmake styley, and on its own seems to begin
> with:
> > > 'bitbake -f -c package aws-sdk'  completes without errors.
> > >
> > > But for 'bitbake -c package_qa aws-sdk) I get:
> > >
> > > ERROR: aws-sdk-1.1.31-r0 do_package_qa: QA Issue: -dev package contains
> > > non-symlink .so: aws-sdk-dev path
> > > '/work/armv7a-neon-poky-linux-gnueabi/aws-sdk/1.1.31-r0/
> packages-split/aws-s
> > > dk-dev/usr/lib/libaws-cpp-sdk-core.so'
> > > -dev package contains non-symlink .so: aws-sdk-dev path
> > > '/work/armv7a-neon-poky-linux-gnueabi/aws-sdk/1.1.31-r0/
> packages-split/aws-s
> > > dk-dev/usr/lib/libaws-cpp-sdk-s3.so' [dev-elf]
> > >
> > > I'd appreciate help with resolving this. Thanks.>
> > >
> >
> > It looks like aws-sdk installs .so files that are actual libraries (and
> not symlinks to the versioned libraries as would be the usual case). The
> best solution would be to get aws to install versioned libraries but if
> that's not an option, you probably want to package the .so files in the
> actual library package, not the -dev package (which is the default since
> usually .so are symlinks for development and the actually versioned ).
> >
> > You may have to set both FILES_${PN}-dev and FILES_${PN} (so the former
> doesn't grab the so files, and the latter does)
> >
> > HTH,
> >   Jussi
>
> Thanks for the tips, Jussi.
> I'm managing to get a little further, added
> INSANE_SKIP_${PN}-dev += "dev-elf"
>

I suggest not doing this. It seems the warning is valid so you should fix
the issue, not silence the warning.

FILES_${PN}-dev += "${libdir}/libaws-cpp-sdk-core.so
> ${libdir}/libaws-cpp-sdk-s3.so"
>

${PN}-dev should _not_ contain so files (in your special case). The issue
is that the default value contains "${libdir}/lib*.so" already (it's not
quite so simple but see meta/conf/bitbake.conf for details if interested).
You should be able to just redefine the variable completely:
    FILES_${PN}-dev = "${includedir}"


> FILES_${PN} += "${libdir}/libaws-cpp-sdk-core.so
> ${libdir}/libaws-cpp-sdk-s3.so"
>

This looks correct to me.

Jussi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170822/d7aef22c/attachment.html>


More information about the yocto mailing list