Build failure on Kubuntu 20.04
First of all sorry if I am not in the right place to ask for help for that type of issue, I could not find an entry for plasma-firewall in bugs.kde.org .
I have been trying to build this cool ufw gui on Kubuntu 20.04 after discovering it on Kaos. I do not know C++ at all, and my experiences building from source on KDE have been trial and errors only. I usually encounter dependency issues, but here, I get a compilation failure (I think).
cmake command finds all optional and required packages and outputs a successful configuration message. But I do get a warning at the begining of the command output which seems connected to the compile error I get later on:
CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/KF5Package/KF5PackageMacros.cmake:74 (message): KPackage components should be specified in reverse domain notation. Appstream information won't be generated for kcm_firewall. Call Stack (most recent call first): kcm/CMakeLists.txt:39 (kpackage_install_package)
make command fails with the following output:
Scanning dependencies of target kcm_firewall_core [ 6%] Building CXX object kcm/core/CMakeFiles/kcm_firewall_core.dir/kcm_firewall_core_autogen/mocs_compilation.cpp.o In file included from /home/kubuntu/plasma-firewall/build/kcm/core/kcm_firewall_core_autogen/EWIEGA46WW/moc_ifirewallclientbackend.cpp:9, from /home/kubuntu/plasma-firewall/build/kcm/core/kcm_firewall_core_autogen/mocs_compilation.cpp:3: /home/kubuntu/plasma-firewall/kcm/core/ifirewallclientbackend.h:94:20: error: field ‘m_profiles’ has incomplete type ‘QVector<Entry>’ 94 | QVector<Entry> m_profiles; | ^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1204, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:40, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QFlags:1, from /home/kubuntu/plasma-firewall/kcm/core/firewallclient.h:30, from /home/kubuntu/plasma-firewall/build/kcm/core/kcm_firewall_core_autogen/EWIEGA46WW/moc_firewallclient.cpp:9, from /home/kubuntu/plasma-firewall/build/kcm/core/kcm_firewall_core_autogen/mocs_compilation.cpp:2: /usr/include/x86_64-linux-gnu/qt5/QtCore/qtypeinfo.h:193:1: note: declaration of ‘class QVector<Entry>’ 193 | Q_DECLARE_MOVABLE_CONTAINER(QVector); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [kcm/core/CMakeFiles/kcm_firewall_core.dir/build.make:63: kcm/core/CMakeFiles/kcm_firewall_core.dir/kcm_firewall_core_autogen/mocs_compilation.cpp.o] Error 1 make: *** [CMakeFiles/Makefile2:1340: kcm/core/CMakeFiles/kcm_firewall_core.dir/all] Error 2 make: *** [Makefile:141: all] Error 2
I did try to look around, I found the
QVector<Entry> m_profiles; line in specified file, but it did not really help me with my googling.
Thank you for your time.