qt6, autoconf and lyx: help wanted

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 have asked the lyx devs for help, but they are baffled. It seems that qt6 on openSUSE behaves unexpected. It works find with cmake, though. (Yes, lyx supports both.) In the end I was asked to execute "qmake6 test.pro" (test.pro was a file they provided). It should provide a Makefile, but it did not. Nothing happened. Can someone provide some insight here? Are there programs in qt6 in OBS that use autoconf, so that I have something to compare? It seems there is something wrong with autoconf. The specific error is that files in the subdirectories of /usr/include/qt6 cannot be found. If I link the files into /usr/include/qt6 itself, they are found. Nothing strange is found in the config phase. Only during compilation. The error message is: [ 38s] GEN moc_Validator.cpp [ 38s] make all-am [ 38s] make[6]: Entering directory '/home/abuild/rpmbuild/BUILD/lyx-qt6-2.4.1692654261.fe74c24da9/src/frontends/qt' [ 38s] CXX ButtonPolicy.o [ 38s] CXX Dialog.o [ 38s] CXX DialogFactory.o [ 38s] CXX Action.o [ 38s] In file included from FindAndReplace.h:15, [ 38s] from DialogFactory.cpp:14: [ 38s] DockView.h:17:10: fatal error: QDockWidget: No such file or directory [ 38s] 17 | #include <QDockWidget> [ 38s] | ^~~~~~~~~~~~~ [ 38s] In file included from Dialog.cpp:15: [ 38s] GuiView.h:22:10: fatal error: QMainWindow: No such file or directory [ 38s] 22 | #include <QMainWindow> [ 38s] | ^~~~~~~~~~~~~ [ 38s] compilation terminated. Any help would be much appreciated. Thanks, Cor

Moin, Am Samstag, 26. August 2023, 11:00:58 CEST schrieb Cor Blom:
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@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} Does LyX really need gui-private? 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 Cheers, Fabian

Moin, Am Samstag, 26. August 2023, 11:00:58 CEST schrieb Cor Blom:
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@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} Does LyX really need gui-private? 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 Cheers, Fabian
participants (2)
-
Cor Blom
-
Fabian Vogt