On Tue, Aug 22, 2017 at 12:18 PM, Jussi Kukkonen <jussi.kukko...@intel.com> wrote: > On 22 August 2017 at 17:43, Colin Helliwell <colin.helliw...@ln-systems.com> > wrote: >> > On 22 August 2017 at 15:13 Jussi Kukkonen <jussi.kukko...@intel.com> >> > wrote: >> > On 22 August 2017 at 16:43, <colin.helliw...@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.
Right, and especially true for the dev-elf QA check. Putting an actual elf .so file in a -dev package introduces a run-time dependency on the -dev package, which causes header files etc to be pulled into the final image. Trying to disable the "dev-elf" QA test should be QA test failure in itself... :-) >> 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}" Completely over-riding any of the default packaging rules isn't ideal. To force .so files into main package the following is a little cleaner: FILES_SOLIBSDEV = "" FILES_${PN} += "${libdir}/*.so" >> FILES_${PN} += "${libdir}/libaws-cpp-sdk-core.so >> ${libdir}/libaws-cpp-sdk-s3.so" > > > This looks correct to me. > > Jussi > > -- > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto