Details
-
Bug
-
Resolution: Fixed
-
P3: Somewhat important
-
None
-
6.3.0 Alpha
-
-
cb937aa14a3fc66d3da4bcf07075a7dd00977eb6
Description
Hi
It seems that QtWayland no longer compiles. It seems to be related to some private header
Here is how I compile QtBase dev
cmake -Wno-dev .. -DCMAKE_INSTALL_PREFIX=$INSTALLDIR -DCMAKE_BUILD_TYPE=Release -DINSTALL_BINDIR=lib/qt6/bin -DINSTALL_DOCDIR=share/doc/qt6 -DINSTALL_ARCHDATADIR=lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/qt6 -DINSTALL_DATADIR=share/qt6 -DINSTALL_INCLUDEDIR=include/qt6 -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs -DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \ -DQT_FEATURE_journald=ON -DQT_FEATURE_openssl_linked=ON -DQT_QPA_DEFAULT_PLATFORM=wayland -DWARNINGS_ARE_ERRORS=OFF -DFEATURE_separate_debug_info=OFF -DQT_BUILD_TESTS=OFF -DFEATURE_optimize_size=ON -DFEATURE_system_sqlite=ON -DFEATURE_dbus=ON -DFEATURE_accessibility=ON
and here is the snippit from the build error.
``` [ 54%] Building CXX object src/compositor/CMakeFiles/WaylandCompositor.dir/compositor_api/qwaylandpointer.cpp.o In file included from /srcbuild/qt6-qtwayland/src/compositor/compositor_api/qwaylandoutput_p.h:57, from /srcbuild/qt6-qtwayland/src/compositor/compositor_api/qwaylandoutput.cpp:32: /opt/include/qt6/QtCore/6.3.0/QtCore/private/qobject_p.h: In instantiation of ‘void QtPrivate::assertObjectType(QObjectPrivate*) [with ObjPrivate = QWaylandOutputPrivate]’: /opt/include/qt6/QtCore/qobjectdefs_impl.h:170:34: required from ‘static void QtPrivate::FunctorCall<QtPrivate::IndexesList<II ...>, QtPrivate::List<Tail ...>, R, SlotRet (Obj::*)(SlotArgs ...)>::call(SlotRet (Obj::*)(SlotArgs . ..), Obj*, void**) [with int ...II = {}; SignalArgs = {}; R = void; SlotArgs = {}; SlotRet = void; Obj = QWaylandOutputPrivate]’ /opt/include/qt6/QtCore/qobjectdefs_impl.h:208:95: required from ‘static void QtPrivate::FunctionPointer<Ret (Obj::*)(Args ...)>::call(QtPrivate::FunctionPointer<Ret (Obj::*)(Args ...)>::Function, Obj*, void**) [with SignalArgs = QtPrivate::List<>; R = void; Obj = QWaylandOutputPrivate; Ret = void; Args = {}; QtPrivate::FunctionPointer<Ret (Obj::*)(Args ...)>::Function = void (QWaylandOutputPrivate::*)()]’ /opt/include/qt6/QtCore/6.3.0/QtCore/private/qobject_p.h:512:49: required from ‘static void QtPrivate::QPrivateSlotObject<Func, Args, R>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [with Func = void (QWaylan dOutputPrivate::*)(); Args = QtPrivate::List<>; R = void]’ /opt/include/qt6/QtCore/6.3.0/QtCore/private/qobject_p.h:522:59: required from ‘QtPrivate::QPrivateSlotObject<Func, Args, R>::QPrivateSlotObject(Func) [with Func = void (QWaylandOutputPrivate::*)(); Args = QtPrivate::List<>; R = void]’ /opt/include/qt6/QtCore/6.3.0/QtCore/private/qobject_p.h:550:9: required from ‘static QMetaObject::Connection QObjectPrivate::connect(const typename QtPrivate::FunctionPointer<Func>::Object*, Func1, const typename QtPrivate::Fun ctionPointer<Func2>::Object*, Func2, Qt::ConnectionType) [with Func1 = void (QWindow::*)(int); Func2 = void (QWaylandOutputPrivate::*)(); typename QtPrivate::FunctionPointer<Func>::Object = QWindow; typename QtPrivate::FunctionPoi nter<Func2>::Object = QWaylandOutputPrivate]’ /srcbuild/qt6-qtwayland/src/compositor/compositor_api/qwaylandoutput.cpp:339:131: required from here /opt/include/qt6/QtCore/6.3.0/QtCore/private/qobject_p.h:497:84: error: ‘QWaylandOutput* QWaylandOutputPrivate::q_func()’ is private within this context 497 | using Obj = std::remove_pointer_t<decltype(std::declval<ObjPrivate *>()->q_func())>; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from /srcbuild/qt6-qtwayland/build/include/QtWaylandCompositor/../../../src/compositor/global/qtwaylandqmlinclude.h:43, from /srcbuild/qt6-qtwayland/build/include/QtWaylandCompositor/qtwaylandqmlinclude.h:1, from /srcbuild/qt6-qtwayland/src/compositor/compositor_api/qwaylandoutput.h:34, from /srcbuild/qt6-qtwayland/src/compositor/compositor_api/qwaylandoutput.cpp:31: /srcbuild/qt6-qtwayland/src/compositor/compositor_api/qwaylandoutput_p.h:131:5: note: declared private here 131 | Q_DECLARE_PUBLIC(QWaylandOutput) | ^~~~~~~~~~~~~~~~ ```