[yocto] Problem & Question about FILES_${PN}

Reeve Yang reeve.yang at gmail.com
Tue Jan 7 12:59:51 PST 2014


Hi Nico,

As you suggested, I removed  ${libdir}/${BPN}/*${SOLIBSDEV} from
"FILES_${PN}-dev", but now I'm getting this error:

ERROR: QA Issue: non -dev/-dbg/-nativesdk package contains symlink .so:
syslog-ng path
'/work/x86_64-poky-linux/syslog-ng/3.2.5-r12.1/packages-split/syslog-ng/usr/lib64/syslog-ng/libafsocket.so'
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in:
/home2/reeve-ws/yocto-dylan-merge/build/tmp/work/x86_64-poky-linux/syslog-ng/3.2.5-r12.1/temp/log.do_package.16779
ERROR: Task 6
(/home2/reeve-ws/yocto-dylan-merge/meta-openembedded/meta-oe/recipes-support/nonworking/syslog-ng/
syslog-ng_3.2.5.bb, do_package) failed with exit code '1'


It looks main binary package doesn't have a symlink of .so. How to fix that?

Thanks.
- Reeve


On Tue, Jan 7, 2014 at 12:39 PM, Nicolas Dechesne <
nicolas.dechesne at linaro.org> wrote:

> Hi,
>
> Le 7 janv. 2014 21:35, "Reeve Yang" <reeve.yang at gmail.com> a écrit :
>
> >
> > Hi Nicolas,
> >
> > Thanks for reply. How nice it is! But one thing I don't understand is,
> sometimes the files might be needed into two different packages, e.g. main
> and dev, how can we achieve that? In another words, is there anyway in
> local recipe to make files not deleted during packaging time?
>
> Thanks. Please let's keep the discussion on the list.
>
> you cannot do that. In fact i don't quite see why you would want to do
> that. If 2 packages provide the same file you won't be able to install them
> simultaneously.
>
> If you want to duplicate the same file in 2 different location in the
> rootFS then you can duplicate in do_install().
>
> >
> > Appreciate your help.
> > - Reeve
> >
> >
> > On Mon, Jan 6, 2014 at 4:29 PM, Nicolas Dechesne <
> nicolas.dechesne at linaro.org> wrote:
> >>
> >>
> >> On Tue, Jan 7, 2014 at 1:19 AM, Reeve Yang <reeve.yang at gmail.com>
> wrote:
> >>>
> >>> FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/*
> ${libdir}/lib*${SOLIBS} \
> >>>     ${sysconfdir} ${sharedstatedir} ${localstatedir} \
> >>>     ${base_bindir}/* ${base_sbindir}/* \
> >>>     ${base_libdir}/*${SOLIBS} \
> >>>     ${datadir}/${BPN} ${libdir}/${BPN}/*${SOLIBSDEV} \
> >>>     ${datadir}/include/scl/ ${datadir}/xsd"
> >>> FILES_${PN}-dev += "${libdir}/${BPN}/lib*.la
> ${libdir}/${BPN}/*${SOLIBSDEV}"
> >>
> >>
> >> it seems that  ${libdir}/${BPN}/*${SOLIBSDEV} is both in FILES_{PN} and
> FILES_{PN}-dev, in which case the actual files will be added in the -dev
> package, not, the 'main binary' package.
> >>
> >> Files are 'removed' from the local 'install' directory ($D) by
> processing FILES_{PN} variables in the order defined by PACKAGES. since the
> -dev package is before the binary package, your .so files will be added to
> the -dev package first, and no longer in the local 'install' folder when
> the binary package is being built.
> >>
> >> so you need to remove the glob from FILES_{PN}-dev.
> >>
> >>
> >>
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20140107/da461001/attachment.html>


More information about the yocto mailing list