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

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Apr 17 23:01:56 CEST 2024


Quoting Neal Gompa (2024-04-17 21:41:55)
> 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.
> 

I'm on Ubuntu 22.04 (i.e. current Ubuntu LTS stable) if that is relevant ...

Of course it all works for QT5 ...
--
Kieran


More information about the libcamera-devel mailing list