[libcamera-devel] [PATCH v2 1/3] apps: qcam: Port to Qt 6

Neal Gompa neal at gompa.dev
Wed Apr 17 22:41:55 CEST 2024


On Wed, Apr 17, 2024 at 4:34 PM Kieran Bingham
<kieran.bingham at ideasonboard.com> wrote:
>
> Quoting Kieran Bingham (2024-04-17 21:26:24)
> > Quoting Neal Gompa (2024-04-17 20:58:16)
> > > On Wed, Apr 17, 2024 at 11:42 AM Laurent Pinchart
> > > <laurent.pinchart at ideasonboard.com> wrote:
> > > >
> > > > On Tue, Apr 16, 2024 at 07:14:35PM +0100, Kieran Bingham wrote:
> > > > > Quoting Neal Gompa via libcamera-devel (2024-01-21 22:39:53)
> > > > > > Open source Qt 5 has been effectively end of life since the release
> > > > > > of Qt 6, and Qt 6 has current LTS releases now.
> > > > > >
> > > > > > This change ports qcam to Qt 6.2 and drops some of the baggage related
> > > > > > to Qt 5 that is no longer applicable.
> > > > >
> > > > > With Ubuntu 24.04 release 'imminent' (as well as the next libcamera-0.3
> > > > > after I can merge the softISP) I believe it's time to merge this patch.
> > > >
> > > > Unless I'm mistaken, Ubuntu will still ship Qt5, so there's no urgency.
> > > > I'm not opposed to this patch though (once fixed), as Qt6 seems to be
> > > > available everywhere.
> > > >
> > >
> > > This patch isn't broken. I just was able to build it on Ubuntu 24.04
> > > just fine: https://download.opensuse.org/repositories/home:/Pharaoh_Atem:/libcamera/xUbuntu_24.04/amd64/
> >
> > I don't think the patch is broken, Just that there must be some
> > additional dependency required which may have been implicitly installed
> > in your case, but seems not to have been in my case.
> >
> > I'm not going to merge a patch that will prevent me from using qcam
> > until I know how to correctly build it again.
>
> """
> for qcam: [optional]
>         libtiff-dev qt6-base-dev qt6-tools-dev-tools
> """
> kbingham at Monstersaurus:~/iob/libcamera/libcamera$ sudo apt install libtiff-dev qt6-base-dev qt6-tools-dev-tools
> [sudo] password for kbingham:
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> qt6-tools-dev-tools is already the newest version (6.2.4-1).
> libtiff-dev is already the newest version (4.3.0-6ubuntu0.8).
> libtiff-dev set to manually installed.
> qt6-base-dev is already the newest version (6.2.4+dfsg-2ubuntu1.1).
>
>
> Then:
>
> ================================================================================
> kbingham at Monstersaurus:~/iob/libcamera/libcamera$ meson setup qt6-test -Dqcam=enabled
> The Meson build system
> Version: 1.4.0
> Source dir: /home/kbingham/iob/libcamera/libcamera
> Build dir: /home/kbingham/iob/libcamera/libcamera/qt6-test
> Build type: native build
> WARNING: failed to process netrc file: ~/.netrc access too permissive: access permissions must restrict access to only the owner (/home/kbingham/.netrc, line 3).
> Project name: libcamera
> Project version: 0.2.0
> C compiler for the host machine: ccache cc (gcc 11.4.0 "cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
> C linker for the host machine: cc ld.bfd 2.38
> C++ compiler for the host machine: ccache c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
> C++ linker for the host machine: c++ ld.bfd 2.38
> Host machine cpu family: x86_64
> Host machine cpu: x86_64
> Header "unistd.h" has symbol "issetugid" : NO
> Header "locale.h" has symbol "locale_t" : YES
> Header "stdlib.h" has symbol "secure_getenv" : YES
> Compiler for C supports arguments -Wno-c99-designator: NO
> Found pkg-config: YES (/usr/bin/pkg-config) 0.29.2
> Run-time dependency lttng-ust found: YES 2.13.1
> Program ./parser.py found: YES (/home/kbingham/iob/libcamera/libcamera/utils/ipc/./parser.py)
> Program ./generate.py found: YES (/home/kbingham/iob/libcamera/libcamera/utils/ipc/./generate.py)
> Program ./extract-docs.py found: YES (/home/kbingham/iob/libcamera/libcamera/utils/ipc/./extract-docs.py)
> Program ./gen-tp-header.py found: YES (/home/kbingham/iob/libcamera/libcamera/utils/tracepoints/./gen-tp-header.py)
> Configuring version.h using configuration
> Program openssl found: YES (/usr/bin/openssl)
> Library atomic found: YES
> Run-time dependency threads found: YES
> Run-time dependency libdw found: YES 0.186
> Run-time dependency libunwind found: YES 1.3.2
> Header "execinfo.h" has symbol "backtrace" : YES
> Checking for function "dlopen" : YES
> Run-time dependency libudev found: YES 249
> Run-time dependency yaml-0.1 found: YES 0.2.2
> Run-time dependency gnutls found: YES 3.7.3
> Dependency libexif skipped: feature android disabled
> Dependency libjpeg skipped: feature android disabled
> Run-time dependency libevent_pthreads found: YES 2.1.12-stable
> Run-time dependency libtiff-4 found: YES 4.3.0
> Run-time dependency GTest found: YES 1.11.0
> Run-time dependency libdrm found: YES 2.4.113
> Run-time dependency libjpeg found: YES 2.1.2
> Run-time dependency sdl2 found: YES 2.0.20
> Run-time dependency qt6 (modules: Core, Gui, OpenGL, OpenGLWidgets, Widgets) found: NO (tried pkgconfig)
>
> src/apps/qcam/meson.build:4:10: ERROR: Dependency "qt6" not found, tried pkgconfig
>
> A full log can be found at /home/kbingham/iob/libcamera/libcamera/qt6-test/meson-logs/meson-log.txt
> ================================================================================
>
> I wonder if the modules have been implicitly installed, or used before
> and now need to be explicitly listed as a dependency.
>

Something doesn't seem right here. Out of curiosity, what happens if
you also install cmake and run the build? I'm wondering if something
is busted with pkgconfig on your system somehow. I can build it in
containers, in package build environments, and locally just fine with
the instructions in the README.

Basically, Meson is saying that the pkgconfig files for Qt6 modules
cannot be found, which is incredibly bizarre.




--
真実はいつも一つ!/ Always, there's only one truth!


More information about the libcamera-devel mailing list