Build failure on Kubuntu 20.04
Hi,
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).
The 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)
Then the 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[2]: *** [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[1]: *** [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.