[libcamera-devel] [PATCH] build: Fix python dependency

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Aug 19 03:39:43 CEST 2022


Hi Martin,

On Thu, Aug 11, 2022 at 05:44:42PM +0200, Martin Kletzander wrote:
> On Thu, Aug 11, 2022 at 05:36:41PM +0300, Laurent Pinchart wrote:
> >On Thu, Aug 11, 2022 at 05:11:07PM +0300, Tomi Valkeinen via libcamera-devel wrote:
> >> On 11/08/2022 13:54, Martin Kletzander via libcamera-devel wrote:
> >> > Building with pycamera fails due to dependency search for 'python3'.  Fix that
> >> > by using meson's python module which searches for the proper files and various
> >> > versions.
> >> >
> >> > Signed-off-by: Martin Kletzander <nert.pinx at gmail.com>
> >> > ---
> >> >   src/py/libcamera/meson.build | 9 +++++----
> >> >   1 file changed, 5 insertions(+), 4 deletions(-)
> >> >
> >> > diff --git a/src/py/libcamera/meson.build b/src/py/libcamera/meson.build
> >> > index eb8845388692..cf2e9395de38 100644
> >> > --- a/src/py/libcamera/meson.build
> >> > +++ b/src/py/libcamera/meson.build
> >> > @@ -1,8 +1,9 @@
> >> >   # SPDX-License-Identifier: CC0-1.0
> >> >
> >> > -py3_dep = dependency('python3', required : get_option('pycamera'))
> >> > +pymod = import('python')
> >> > +py3 = pymod.find_installation('python3', required : get_option('pycamera'))
> >> >
> >> > -if not py3_dep.found()
> >> > +if not py3.found()
> >> >       pycamera_enabled = false
> >> >       subdir_done()
> >> >   endif
> >> > @@ -60,7 +61,7 @@ pycamera_sources += custom_target('py_gen_formats',
> >> >
> >> >   pycamera_deps = [
> >> >       libcamera_public,
> >> > -    py3_dep,
> >> > +    py3.dependency(),
> >> >       pybind11_dep,
> >> >   ]
> >> >
> >> > @@ -71,7 +72,7 @@ pycamera_args = [
> >> >       '-DLIBCAMERA_BASE_PRIVATE',
> >> >   ]
> >> >
> >> > -destdir = get_option('libdir') / ('python' + py3_dep.version()) / 'site-packages' / 'libcamera'
> >> > +destdir = get_option('libdir') / ('python' + py3.language_version()) / 'site-packages' / 'libcamera'
> >> >
> >> >   pycamera = shared_module('_libcamera',
> >> >                            pycamera_sources,
> >>
> >> There was a similar patch posted some time back:
> >>
> >> https://lists.libcamera.org/pipermail/libcamera-devel/2022-May/030423.html
> 
> Oh, sorry for missing that.  I just started looking into libcamera and this was
> the first thing I found when I wanted to build with pycamera.  I guess
> 
> >> This doesn't work when cross-compiling.
> >
> > Tomi, would you be able to resume discussions with the meson developers
> > to see how this could be fixed ?
> 
> I guess this could be worked around in the meson file, but since pycamera
> support is experimental I guess you want a cleaner solution and don't have to
> work around it for now.  I'll see what can be done with meson.

Workarounds are OK if no clean solution is possible, but if you could
check with the meson developers (they've been very supportive so far),
that would be great.

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list