[OE-core] [PATCH] boost.inc: make libboost_python3.so available

richard.purdie at linuxfoundation.org richard.purdie at linuxfoundation.org
Tue Oct 16 10:00:54 UTC 2018


On Tue, 2018-10-16 at 02:00 -0700, mingli.yu at windriver.com wrote:
> From: Mingli Yu <mingli.yu at windriver.com>
> 
> Currently boost provides ${libdir}/libboost_python35.so,
> but there is some logic as below in CMakeLists.txt
> of package cv-bridge under meta-ros layer.
> [snip]
> if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3)
>     find_package(Boost REQUIRED python)
> else()
>     find_package(Boost REQUIRED python3)
> endif()
> [snip]
> 
> And comes below do_configure error for cv-bridge:
> meta-ros/recipes-ros/vision-opencv/cv-bridge_1.11.16.bb:do_configure
> > CMake Error at $Prj/cv-bridge/1.11.16-r0/recipe-sysroot-
> > native/usr/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message):
> >   Unable to find the requested Boost libraries.
> > 
> >   Boost version: 1.68.0
> > 
> >   Boost include path:
> >   $Prj/cv-bridge/1.11.16-r0/recipe-sysroot/usr/include
> > 
> > 
> >   Could not find the following Boost libraries:
> > 
> >           boost_python3
> > 
> >   No Boost libraries were found.  You may need to set
> > BOOST_LIBRARYDIR to the
> >   directory containing Boost libraries or BOOST_ROOT to the
> > location of
> >   Boost.
> > Call Stack (most recent call first):
> >   CMakeLists.txt:11 (find_package)
> 
> Can update CMakeLists.txt of cv-bridge as below
> to remove the configure error:
>  - find_package(Boost REQUIRED python3)
>  + find_package(Boost REQUIRED python35)
> 
> But once the python version changes such as
> python37, it fails again. So make boost provides
> libboost_python3.so to make the fix flexibly.
> 
> [YOCTO #12833]
> 
> Signed-off-by: Mingli Yu <mingli.yu at windriver.com>
> ---
>  meta/recipes-support/boost/boost.inc | 4 ++++
>  1 file changed, 4 insertions(+)

I'm a little worried about why we're having to create these links when
other software seems able to expect these things by default. Is this
some standard packaging most distros do? I'm a little worried we're
creating an ABI here which doesn't exist...

Put another way, why doesn't upstream create this link if its expected
to work?

Cheers,

Richard




More information about the Openembedded-core mailing list