FedoraQt / QAdwaitaDecorations

Qt decoration plugin implementing Adwaita-like client-side decorations
GNU Lesser General Public License v2.1
78 stars 9 forks source link

QAdwaitaDecorations-0.1.0 fails to build on Debian Sid #14

Closed amepebbles closed 1 year ago

amepebbles commented 1 year ago

As the title suggests, QAdwaitaDecorations 0.1.0 currently fails to build on my Debian Sid machine. I know this project is part of FedoraQt, sorry in advance if building this on something other than Fedora is currently not supported. Building under GNOME Wayland. Compilation steps and error messages as follows:

~/Downloads/QAdwaitaDecorations-0.1.0 % ls
CMakeLists.txt  LICENSE  README.md  src
~/Downloads/QAdwaitaDecorations-0.1.0 % mkdir build && cd build
~/Downloads/QAdwaitaDecorations-0.1.0/build % cmake ..
-- The CXX compiler identification is GNU 13.2.0
-- The C compiler identification is GNU 13.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- The following OPTIONAL packages have been found:

 * Qt5XkbCommonSupport (required version >= 5.15.10)

-- The following REQUIRED packages have been found:

 * QT
 * Qt5Core
 * Qt5WaylandClient
 * Qt5 (required version >= 5.15.10)
 * Qt5Gui (required version >= 5.15.10)
 * Qt5ThemeSupport
 * Threads

-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /home/madeline/Downloads/QAdwaitaDecorations-0.1.0/build
~/Downloads/QAdwaitaDecorations-0.1.0/build % make
[ 20%] Automatic MOC for target qadwaitadecorations
[ 20%] Built target qadwaitadecorations_autogen
[ 40%] Building CXX object src/CMakeFiles/qadwaitadecorations.dir/qadwaitadecorations_autogen/mocs_compilation.cpp.o
In file included from /home/madeline/Downloads/QAdwaitaDecorations-0.1.0/build/src/qadwaitadecorations_autogen/EWIEGA46WW/moc_qadwaitadecorations.cpp:10,
                 from /home/madeline/Downloads/QAdwaitaDecorations-0.1.0/build/src/qadwaitadecorations_autogen/mocs_compilation.cpp:2:
/home/madeline/Downloads/QAdwaitaDecorations-0.1.0/build/src/qadwaitadecorations_autogen/EWIEGA46WW/../../../../src/qadwaitadecorations.h:60:22: error: ‘MarginsType’ has not been declared
   60 |     QMargins margins(MarginsType marginsType = Full) const override;
      |                      ^~~~~~~~~~~
/home/madeline/Downloads/QAdwaitaDecorations-0.1.0/build/src/qadwaitadecorations_autogen/EWIEGA46WW/../../../../src/qadwaitadecorations.h:60:14: error: ‘QMargins QAdwaitaDecorations::margins(int) const’ marked ‘override’, but does not override
   60 |     QMargins margins(MarginsType marginsType = Full) const override;
      |              ^~~~~~~
/home/madeline/Downloads/QAdwaitaDecorations-0.1.0/build/src/qadwaitadecorations_autogen/EWIEGA46WW/../../../../src/qadwaitadecorations.h:60:48: error: ‘Full’ was not declared in this scope
   60 |     QMargins margins(MarginsType marginsType = Full) const override;
      |                                                ^~~~
make[2]: *** [src/CMakeFiles/qadwaitadecorations.dir/build.make:76: src/CMakeFiles/qadwaitadecorations.dir/qadwaitadecorations_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:99: src/CMakeFiles/qadwaitadecorations.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
~/Downloads/QAdwaitaDecorations-0.1.0/build %

Details about my current setup (I can give more information if needed):

~/Downloads/QAdwaitaDecorations-0.1.0/build % uname -a
Linux Celeste 6.4.0-4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.4.13-1 (2023-08-31) x86_64 GNU/Linux
~/Downloads/QAdwaitaDecorations-0.1.0/build % dpkg -l | grep qt5
ii  libqt5concurrent5:amd64                        5.15.10+dfsg-3                       amd64        Qt 5 concurrent module
ii  libqt5core5a:amd64                             5.15.10+dfsg-3                       amd64        Qt 5 core module
ii  libqt5dbus5:amd64                              5.15.10+dfsg-3                       amd64        Qt 5 D-Bus module
ii  libqt5designer5:amd64                          5.15.10-3                            amd64        Qt 5 designer module
ii  libqt5gui5:amd64                               5.15.10+dfsg-3                       amd64        Qt 5 GUI module
ii  libqt5help5:amd64                              5.15.10-3                            amd64        Qt 5 help module
ii  libqt5network5:amd64                           5.15.10+dfsg-3                       amd64        Qt 5 network module
ii  libqt5opengl5:amd64                            5.15.10+dfsg-3                       amd64        Qt 5 OpenGL module
ii  libqt5opengl5-dev:amd64                        5.15.10+dfsg-3                       amd64        Qt 5 OpenGL library development files
ii  libqt5printsupport5:amd64                      5.15.10+dfsg-3                       amd64        Qt 5 print support module
ii  libqt5qml5:amd64                               5.15.10+dfsg-2                       amd64        Qt 5 QML module
ii  libqt5qmlmodels5:amd64                         5.15.10+dfsg-2                       amd64        Qt 5 QML Models library
ii  libqt5qmlworkerscript5:amd64                   5.15.10+dfsg-2                       amd64        Qt 5 QML Worker Script library
ii  libqt5quick5:amd64                             5.15.10+dfsg-2                       amd64        Qt 5 Quick library
ii  libqt5quickcontrols2-5:amd64                   5.15.10+dfsg-2                       amd64        Qt 5 Quick Controls 2 library
ii  libqt5quickparticles5:amd64                    5.15.10+dfsg-2                       amd64        Qt 5 Quick particles module
ii  libqt5quickshapes5:amd64                       5.15.10+dfsg-2                       amd64        Qt 5 Quick Shapes module
ii  libqt5quicktemplates2-5:amd64                  5.15.10+dfsg-2                       amd64        Qt 5 Quick Templates 2 library
ii  libqt5quicktest5:amd64                         5.15.10+dfsg-2                       amd64        Qt 5 Quick Test library
ii  libqt5quickwidgets5:amd64                      5.15.10+dfsg-2                       amd64        Qt 5 Quick Widgets library
ii  libqt5sql5:amd64                               5.15.10+dfsg-3                       amd64        Qt 5 SQL module
ii  libqt5sql5-sqlite:amd64                        5.15.10+dfsg-3                       amd64        Qt 5 SQLite 3 database driver
ii  libqt5svg5:amd64                               5.15.10-2                            amd64        Qt 5 SVG module
ii  libqt5test5:amd64                              5.15.10+dfsg-3                       amd64        Qt 5 test module
ii  libqt5waylandclient5:amd64                     5.15.10-2                            amd64        QtWayland client library
ii  libqt5waylandclient5-dev:amd64                 5.15.10-2                            amd64        QtWayland client development files
ii  libqt5waylandcompositor5:amd64                 5.15.10-2                            amd64        QtWayland compositor library
ii  libqt5waylandcompositor5-dev:amd64             5.15.10-2                            amd64        QtWayland compositor development files
ii  libqt5widgets5:amd64                           5.15.10+dfsg-3                       amd64        Qt 5 widgets module
ii  libqt5x11extras5:amd64                         5.15.10-2                            amd64        Qt 5 X11 extras
ii  libqt5xml5:amd64                               5.15.10+dfsg-3                       amd64        Qt 5 XML module
ii  pyqt5-dev                                      5.15.9+dfsg-2                        all          Development files for PyQt5
ii  python3-pyqt5                                  5.15.9+dfsg-2                        amd64        Python 3 bindings for Qt5
ii  python3-pyqt5.sip                              12.12.2-1                            amd64        runtime module for Python extensions using SIP
ii  qgnomeplatform-qt5:amd64                       0.9.1-1+b1                           amd64        Qt 5 extra widget styles - GNOME Platform theme
ii  qt5-gtk-platformtheme:amd64                    5.15.10+dfsg-3                       amd64        Qt 5 GTK+ 3 platform theme
ii  qt5-qmake:amd64                                5.15.10+dfsg-3                       amd64        Qt 5 qmake Makefile generator tool
ii  qt5-qmake-bin                                  5.15.10+dfsg-3                       amd64        Qt 5 qmake Makefile generator tool — binary file
ii  qt5-qmltooling-plugins:amd64                   5.15.10+dfsg-2                       amd64        Qt 5 qmltooling plugins
~/Downloads/QAdwaitaDecorations-0.1.0/build % 
grulja commented 1 year ago

This is because there is a patch required to be applied on top of QtWayland in order to add some additional API we use in this decoration plugin. You either need to apply that patch yourself or build only Qt6 version.

grulja commented 1 year ago

Should be fixed with https://github.com/FedoraQt/QAdwaitaDecorations/pull/19.

amepebbles commented 1 year ago

I can confirm it compiles now. Much appreciated!