Closed n3rdopolis closed 4 years ago
Not sure either, I built against Qt 5.14 not so long ago.
Trying to look at Qt's commit log is kind of confusing with all the remote-tracking branch merging. I can't tell if there's been a recent change, but I will try to rebuild Qt again, and see what happens
You can do git log v5.13.0..v5.13.1
to see all commits that are new between two versions.
Maybe https://code.qt.io/cgit/qt/qtwayland.git/commit/?id=5400af8850a7a73a19443839fbd0c8f3d45b091b is relevant?
going to try that, have to trigger a whole rebuild though after another experiment..
Sorry about that, just tried it, and reverting that commit worked
@johanhelsing So I should just replace all instance of QT_WAYLAND_COMPOSITOR_QUICK with QT_CONFIG(wayland_compositor_quick) ?
Yeah I think so. We added QT_WAYLAND_COMPOSITOR_QUICK
while (or perhaps before?) the configure system was being rewritten.
QT_WAYLAND_COMPOSITOR_QUICK
ever existed as far as I remember :)
It predates the new configure system for sure.
Every instance of QT_WAYLAND_COMPOSITOR_QUICK
was removed, this issue should no longer be reproduced.
Not sure what happened, as I was able to build it last week, and nothing changed in this repo since... I did rebuild Qt, and GTK, maybe something changed upstream. It built fine with Qt 5.13 before
[ 84%] Building CXX object src/imports/shell-private/CMakeFiles/shell-privateplugin.dir/shellsurfaceitem.cpp.o [ 84%] Building CXX object src/imports/shell-private/CMakeFiles/shell-privateplugin.dir/windowmousetracker.cpp.o [ 85%] Building CXX object src/imports/shell-private/CMakeFiles/shell-privateplugin.dir/shell-privateplugin_autogen/mocs_compilation.cpp.o In file included from /opt/include/QtQml/qqml.h:43, from /opt/include/QtQml/QtQml:8, from /srcbuild/lirios-shell/src/imports/shell-private/plugin.cpp:24: /opt/include/QtQml/qqmlprivate.h: In instantiation of ‘void QQmlPrivate::createInto(void) [with T = GtkSurfaceQuickParent]’: /opt/include/QtQml/qqml.h:287:31: required from ‘int qmlRegisterType(const char, int, int, const char) [with T = GtkSurfaceQuickParent]’ /srcbuild/lirios-shell/src/imports/shell-private/plugin.cpp:148:93: required from here /opt/include/QtQml/qqmlprivate.h:124:37: error: invalid new-expression of abstract class type ‘QQmlPrivate::QQmlElement’
void createInto(void memory) { new (memory) QQmlElement; }
^’:
class QQmlElement final : public T
^
~~~~~~ /opt/include/QtQml/qqmlprivate.h:103:11: note: because the following virtual functions are pure within ‘QQmlPrivate::QQmlElement~~In file included from /opt/include/QtWaylandCompositor/QWaylandShellSurface:1, from /opt/include/QtWaylandCompositor/qwaylandwlshell.h:46, from /opt/include/QtWaylandCompositor/QWaylandWlShell:1, from /srcbuild/lirios-shell/src/imports/shell-private/plugin.cpp:26: /opt/include/QtWaylandCompositor/qwaylandshellsurface.h:58:44: note: ‘virtual QWaylandQuickShellIntegration QWaylandShellSurface::createIntegration(QWaylandQuickShellSurfaceItem)’ virtual QWaylandQuickShellIntegration createIntegration(QWaylandQuickShellSurfaceItem item) = 0; ^~~~~ make[2]: [src/imports/shell-private/CMakeFiles/shell-privateplugin.dir/build.make:141: src/imports/shell-private/CMakeFiles/shell-privateplugin.dir/plugin.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... make[1]: [CMakeFiles/Makefile2:2020: src/imports/shell-private/CMakeFiles/shell-privateplugin.dir/all] Error 2 make: [Makefile:141: all] Error 2