On Thu, Oct 4, 2018 at 10:34 AM Martin Jansa <martin.ja...@gmail.com> wrote:
> > If there's another way to solve this, I'm all ears. BTW, ceres-solver > recipe itself has ALLOW_EMPTY_${PN} = "1" already. I believe the reason is > the same as here. > > Use bitbake -g my-image-dev to find out what package is depending on > libeigen package and fix it there. Are you sure it's (only) from > ceres-solver? Isn't libeigen listed in my-image-dev as well? > That makes sense. Indeed it was. I removed it from the image and it worked well! Thanks for the hint. Now the only dependency on libeigen is ceres-solver. Adding ALLOW_EMPTY here is just hiding the issue somewhere else. It makes > sense when the package might be empty based on some configuration (e.g. > PACKAGECONFIGs), but in general ALLOW_EMPTY is bad idea. It also allows end > user to do "opkg install libeigen" and assuming he got something useful > when it installs something, which isn't true he just wasted few bytes of > storage for completely empty package. > I have a bit different use case. I don't use package manager :) But the point of having it in the image was to automatically put libeigen into generated SDK. I checked it again, and SDK still generates properly with libeigen-dev included. > And when you're there you can remove ALLOW_EMPTY from ceres-solver as well > :). > I will check if RDEPENDS_${PN}-dev works with ceres-solver as well. If it does, then the patch from me will come ;) Thanks again, Vyacheslav > > Cheers, > > On Thu, Oct 4, 2018 at 9:04 AM Vyacheslav Yurkov <uvv.m...@gmail.com> > wrote: > >> Hi Martin, >> Thanks for your comment. I did see discussion in the mailing list that >> RDEPENDS_${PN}-dev is supposed to solve it, but it doesn't. To be fare, I >> tried it again now: >> - bitbake libeigen -c cleanall >> - bitbake ceres-solver -c cleanall >> - reverted my ALLOW_EMPTY_${PN} = "1" change >> - bitbake my-image >> >> After last step I got: >> ERROR: my-image-dev-1.0-r0 do_rootfs: libeigen not found in the feeds >> (x86 corei7-64 core2-64 x86_64 noarch any all) in >> /home/uvv/projects/yocto-x86/build/tmp/deploy/rpm. >> ERROR: my-image-dev-1.0-r0 do_rootfs: This is often caused by an empty >> package declared in a recipe's PACKAGES variable. (Empty packages are not >> constructed unless ALLOW_EMPTY_<pkg> = '1' is used.) >> ERROR: my-image-dev-1.0-r0 do_rootfs: Function failed: do_rootfs >> >> If there's another way to solve this, I'm all ears. BTW, ceres-solver >> recipe itself has ALLOW_EMPTY_${PN} = "1" already. I believe the reason is >> the same as here. >> >> Regards, >> Vyacheslav >> >> On Wed, Oct 3, 2018 at 8:35 AM Martin Jansa <martin.ja...@gmail.com> >> wrote: >> >>> On Wed, Oct 03, 2018 at 08:24:22AM +0200, Vyacheslav Yurkov wrote: >>> > libeigen is header-only library. >>> > All headers go into dev package, therefore the main package is empty. >>> > Dependency on the dev package doesn't work, so you have to allow >>> > empty package for build to succeed for recipes that depend on libeigen >>> > (e.g. ceres-solver). Otherwise an error occurs that empty packages >>> > are not allowed. >>> >>> I still don't understand what the issue is, there is already >>> RDEPENDS_${PN}-dev = "" and similar for ${PN}-dbg. >>> >>> Creating empty libeigen package to satisfy dependency from ceres-solver >>> doesn't really fix anything (just installs useless empty package on >>> target). >>> >>> > Signed-off-by: Vyacheslav Yurkov <uvv.m...@gmail.com> >>> > --- >>> > meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb | 1 + >>> > 1 file changed, 1 insertion(+) >>> > >>> > diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb >>> b/meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb >>> > index 31a42a9d6..a59320655 100644 >>> > --- a/meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb >>> > +++ b/meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb >>> > @@ -18,3 +18,4 @@ FILES_${PN}-dev = "${includedir} >>> ${datadir}/eigen3/cmake ${datadir}/cmake/Module >>> > # ${PN} is empty so we need to tweak -dev and -dbg package >>> dependencies >>> > RDEPENDS_${PN}-dev = "" >>> > RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" >>> > +ALLOW_EMPTY_${PN} = "1" >>> > -- >>> > 2.17.0 >>> > >>> > -- >>> > _______________________________________________ >>> > Openembedded-devel mailing list >>> > Openembedded-devel@lists.openembedded.org >>> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel >>> >>> -- >>> Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com >>> >> >> -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel