Fwd: qt6, autoconf and lyx: help wanted
Enrico Forestieri
forenr at lyx.org
Mon Aug 28 09:36:08 UTC 2023
On Sat, Aug 26, 2023 at 02:11:59PM +0200, Cor Blom wrote:
>
> Hi,
>
> Below the answer on my request for help.
>
> osc build is what I have used throughout and what is used to build the
> packages for openSUSE. Adding qt6-gui-private-devel does solve the error and
> the package now builds fine.
>
> Configure should probably fail if that library is not found.
Many thanks for clarifying this issue. It is evident when you think
about it but often you fail to notice it without a clear error message.
See below.
> -------- Doorgestuurd bericht --------
> Onderwerp: Re: qt6, autoconf and lyx: help wanted
> Datum: Sat, 26 Aug 2023 13:51:52 +0200
> Van: Fabian Vogt <fvogt at suse.de>
> Aan: factory at lists.opensuse.org
> CC: Cor Blom <cornelisbb at gmail.com>
>
> Moin,
>
> Am Samstag, 26. August 2023, 11:00:58 CEST schrieb Cor Blom:
> > Hi all,
> >
> > I have a problem compiling lyx against qt6, both locally on my machine
> > and in the buildservice. You can find the project here:
> >
> > https://build.opensuse.org/package/show/home:cornelisbb:lyx-unstable/lyx-qt6
>
> I tried to build it locally with the same ./configure and it worked fine,
> only in an osc build it failed. My hypothesis was that it somehow relied on
> more devel packages implicitly, maybe private headers. I patched
> config/qt.m4
> to not delete the test.pro file and the error became obvious:
>
> abuild at fabians-envy:/tmp/tmp.StnZiPAtl6> qmake6 test.pro
> Project ERROR: Unknown module(s) in QT: gui-private
>
> This is because of:
>
> qtHaveModule(gui) {QT += gui gui-private} else {MISSING +=
> gui}
Darn... gui-private should be checked separately otherwise an error is
issued and no Makefile is generated. Fixed at 76670a6a.
> Does LyX really need gui-private?
Yes, they are needed to port all functionalities used in Qt5 to Qt6.
However, currently only the Windows platform uses them.
> If not, just remove the "gui-private" part
> here. If it does, use
>
> qtHaveModule(gui-private) {QT += gui-private} else {MISSING +=
> gui-private}
>
> and add BuildRequires: qt6-gui-private-devel
>
> There's another bug FWICT:
>
> [ 16s] checking for QtGui/qtgui-config.h... yes
> [ 16s] checking for QtGui/private/qtgui-config_p.h... no
> [ 16s] checking whether Qt uses the X Window system... no
>
> but
>
> ~> grep -R QT_FEATURE_xcb /usr/include/qt6
> /usr/include/qt6/QtGui/qtgui-config.h:#define QT_FEATURE_xcb 1
Grmpf... they keep changing things. The QT_FEATURE_xcb macro was previously
defined in the private headers. Fixed at c088cc44.
--
Enrico
More information about the lyx-devel
mailing list