Hi Laurent -

Unfortunately I don't have full control over the repo that's using
boost_python-mt so I'm not sure I can switch it right now.

I realize this is not a long-term solution, as I'll need to update that
code (and my OS) to python3 soon, but for now I've just copied the boost
recipe from this commit
<https://github.com/openembedded/openembedded-core/commit/ef603f41b5df4772bb598ec9d389dd5f858592af#diff-9c24742c4bfe7eb2853f86cce86b91c6>
to
my own layer, and added a BBMASK to the openembedded-core's boost recipe.
This seems to work, except I get a QA error from the commit I'm using for
the boost recipe now:

ERROR: boost-1.63.0-r1 do_package: QA Issue: boost: Files/directories were
installed but not shipped in any package:
  /usr/lib/libboost_numpy.so.1.63.0
Please set FILES such that these items are packaged. Alternatively if they
are unneeded, avoid installing them or delete them within do_install.
boost: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: boost-1.63.0-r1 do_package: Fatal QA errors found, failing task.
ERROR: boost-1.63.0-r1 do_package: Function failed: do_package

I found a log
<https://www.yoctoproject.org/irc/%23yocto.2017-03-09.log.html> that
mentions this exact error, and also mentions a patch that fixes it - I've
tried and thus far failed to find that patch. I'm not sure if this will
actually work, but I thought I'd check and see if anyone had any ideas.

Thanks,
Emily

On Tue, Mar 17, 2020 at 5:24 PM Laurent Gauthier <
[email protected]> wrote:

> Also as Quentin suggested it might be needed to remove the "-mt"
> suffix, but I see it in the do_install() method of the "boost" recipe
> for revision 1.64.
>
> Kind regards, Laurent.
>
> On Tue, Mar 17, 2020 at 11:17 PM Laurent Gauthier via
> Lists.Yoctoproject.Org
> <[email protected]> wrote:
> >
> > Hi again Emily,
> >
> > You have put your finger on the core issue there.
> >
> > The name of the boost python library which is linked in your
> > "opc-ua-server-gfex" recipe is "boost_python-mt" where it seems that
> > it should be "boost_python3-mt".
> >
> > I guess you should have a look at the CMakeLists.txt of the
> > "opc-ua-server-gfex" software package to see how to switch to linking
> > with "boost_python3-mt" instead as a quick review of the boost recipe
> > seems to reveal no python2 support.
> >
> > Kind Regards, Laurent.
> >
> >
> > On Tue, Mar 17, 2020 at 7:19 PM Emily S <[email protected]> wrote:
> > >
> > > Hi Laurent -
> > >
> > > Thanks for the suggestion. It looks like there are a few packages that
> provide libboost_python3:
> > >
> > > find tmp/work/*/*/*/packages-split -name libboost_python\*
> > >
> tmp/work/aarch64-poky-linux/boost/1.64.0-r0/packages-split/boost-dev/usr/lib/libboost_python3.so
> > >
> tmp/work/aarch64-poky-linux/boost/1.64.0-r0/packages-split/boost-python/usr/lib/libboost_python3.so.1.64.0
> > >
> tmp/work/aarch64-poky-linux/boost/1.64.0-r0/packages-split/boost-staticdev/usr/lib/libboost_python3.a
> > >
> tmp/work/aarch64-poky-linux/boost/1.64.0-r0/packages-split/boost-dbg/usr/lib/.debug/libboost_python3.so.1.64.0
> > >
> > > Adding boost-python to RDEPENDS doesn't help, I have tried it before
> also. This sort of made sense to me as I thought RDEPENDS was for run time
> dependencies, but perhaps I have misunderstood.
> > >
> > > I am working with the rocko branch and python2, so perhaps that's the
> problem?
> > >
> > > Thanks,
> > > Emily
> > >
> > >
> > > On Tue, Mar 17, 2020 at 1:02 PM Laurent Gauthier <
> [email protected]> wrote:
> > >>
> > >> Hi Emily,
> > >>
> > >> To find the solution to your issue in a rational and deterministic way
> > >> we need to start from the error message.
> > >>
> > >> What I understand is that while build recipe "opc-ua-server-gfex" you
> > >> get an error message that says in short "ld: cannot find
> > >> -lboost_python-mt".
> > >>
> > >> Therefore you need to determine which recipe (and which package in
> > >> that recipe) provides the "boost_python-mt" library.
> > >>
> > >> One way to determine this is to run something like this:
> > >>
> > >>     find
> /local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/*/*/*/packages-split
> > >> -name libboost_python\*
> > >>
> > >> This should show you which recipe, and which package produced by that
> > >> recipe has the library you are looking for.
> > >>
> > >> The names of the first-level directories inside "packages-split" are
> > >> packages names.
> > >>
> > >> Based on things you have mentioned in your previous e-mail my guess
> > >> would be that adding an RDEPENDS = "boost-python" should help, but I
> > >> might be wrong.
> > >>
> > >> I hope this will help you move in the right direction.
> > >>
> > >> Kind regards, Laurent.
> > >>
> > >>
> > >> On Tue, Mar 17, 2020 at 6:07 PM Emily <[email protected]> wrote:
> > >> >
> > >> > Hi Quentin -
> > >> >
> > >> > That's what I tried originally! DEPENDS on boost and not
> boost-python gives me the following error when trying to build my original
> recipe:
> > >> >
> > >> >
> /local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/7.3.0/ld:
> > >> > cannot find -lboost_python-mt
> > >> >
> > >> > So I tried a bunch of other this which also didn't seem to work.
> > >> >
> > >> > Thanks for the response!
> > >> > Emily
> > >> >
> > >> >
> > >> > On Tue, Mar 17, 2020 at 11:04 AM Quentin Schulz <
> [email protected]> wrote:
> > >> >>
> > >> >> Hi Emily,
> > >> >>
> > >> >> On Tue, Mar 17, 2020 at 10:44:10AM -0500, Emily wrote:
> > >> >> > Hi all -
> > >> >> >
> > >> >> > I'm trying to build an opca recipe (
> > >> >> >
> https://github.com/kratsg/meta-l1calo/blob/add/opcServer/recipes-core/opc-ua/opc-ua-server-gfex_git.bb
> )
> > >> >> > and it's giving me a build error like:
> > >> >> >
> > >> >> > |
> > >> >> >
> /local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux/../../libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/7.3.0/ld:
> > >> >> > cannot find -lboost_python-mt
> > >> >> >
> > >> >> > Which seems to indicated I need to add boost-python to my list
> of DEPENDS.
> > >> >> > When I do that I get the error:
> > >> >> >
> > >> >> > ERROR: Nothing PROVIDES 'boost-python' (but
> > >> >> > /local/d6/easmith5/rocko_bitbake/meta-l1calo/recipes-core/opc-ua/
> > >> >> > opc-ua-server-gfex_git.bb DEPENDS on or otherwise requires it).
> Close
> > >> >> > matches:
> > >> >> >   boost RPROVIDES boost-python
> > >> >> >
> > >> >> > I've tried adding PACKAGECONFIG_pn-boost="python" to both my
> local.conf and
> > >> >> > to the image definition as I saw this online, but neither seems
> to work. It
> > >> >> > seems like boost-python is being built (I can see it in the list
> when I run
> > >> >> > oe-pkgdata-utils list-pkgs -p boost) but it doesn't seem to be
> available at
> > >> >> > build for this recipe.
> > >> >> >
> > >> >> > If I remove boost from my list of DEPENDS I get an error about
> that, so
> > >> >> > obviously boost itself is available at build for the original
> recipe. I've
> > >> >> > also tried adding boost-native to DEPENDS, also did not work.
> > >> >> >
> > >> >> > Is there something obvious I'm missing, or some trick to making
> > >> >> > boost-python available at build for this other recipe?
> > >> >> >
> > >> >>
> > >> >> Ok so two things.
> > >> >>
> > >> >> Yes, I'd say you need python in PACKAGECONFIG for boost. However,
> it
> > >> >> seems it's already part of the default value of PACKAGECONFIG, c.f.
> > >> >>
> http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-support/boost/boost.inc?h=master#n45
> > >> >> so if no bbappend is overriding it, I'd say you're safe. Better
> check
> > >> >> with the version in your layer that it's there.
> > >> >> If you don't want to check manually, try `bitbake -e boost | grep
> -e
> > >> >> "^PACKAGECONFIG="`
> > >> >>
> > >> >> DEPENDS contains only recipes (well, PROVIDES but PROVIDES has the
> name
> > >> >> of the recipe in it at all times) while RDEPENDS_* (usually
> ${PN}*) contains
> > >> >> only packages.
> > >> >>
> > >> >> So you need to DEPENDS on boost, not boost-python. That should be
> enough
> > >> >> hopefully!
> > >> >>
> > >> >> Quentin
> > >> >
> > >> >
> > >>
> > >>
> > >>
> > >> --
> > >> Laurent Gauthier
> > >> Phone: +33 630 483 429
> > >> http://soccasys.com
> >
> >
> >
> > --
> > Laurent Gauthier
> > Phone: +33 630 483 429
> > http://soccasys.com
> > 
>
>
>
> --
> Laurent Gauthier
> Phone: +33 630 483 429
> http://soccasys.com
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48817): https://lists.yoctoproject.org/g/yocto/message/48817
Mute This Topic: https://lists.yoctoproject.org/mt/72027139/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to