Nitrux / maui-shell

Maui Shell is a convergent shell for desktops, tablets, and phones.
GNU Lesser General Public License v3.0
1.49k stars 50 forks source link

Error in make building MauiKit to build Maui Shell #18

Closed bcheidemann closed 2 years ago

bcheidemann commented 2 years ago

Describe the bug I followed the steps in Compile Source. When I get to step 4, I get the following error:

/home/ben/cmake-3.22.1-linux-x86_64/bin/cmake -S/home/ben/Code/maui-shell/mauikit -B/home/ben/Code/maui-shell/mauikit/build --check-build-system CMakeFiles/Makefile.cmake 0
/home/ben/cmake-3.22.1-linux-x86_64/bin/cmake -E cmake_progress_start /home/ben/Code/maui-shell/mauikit/build/CMakeFiles /home/ben/Code/maui-shell/mauikit/build//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/ben/Code/maui-shell/mauikit/build'
make  -f src/CMakeFiles/copy.dir/build.make src/CMakeFiles/copy.dir/depend
make[2]: Entering directory '/home/ben/Code/maui-shell/mauikit/build'
cd /home/ben/Code/maui-shell/mauikit/build && /home/ben/cmake-3.22.1-linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/ben/Code/maui-shell/mauikit /home/ben/Code/maui-shell/mauikit/src /home/ben/Code/maui-shell/mauikit/build /home/ben/Code/maui-shell/mauikit/build/src /home/ben/Code/maui-shell/mauikit/build/src/CMakeFiles/copy.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/ben/Code/maui-shell/mauikit/build'
make  -f src/CMakeFiles/copy.dir/build.make src/CMakeFiles/copy.dir/build
make[2]: Entering directory '/home/ben/Code/maui-shell/mauikit/build'
cd /home/ben/Code/maui-shell/mauikit/build/src && /home/ben/cmake-3.22.1-linux-x86_64/bin/cmake -E copy_directory /home/ben/Code/maui-shell/mauikit/src/controls /home/ben/Code/maui-shell/mauikit/build/bin/org/mauikit/controls
make[2]: Leaving directory '/home/ben/Code/maui-shell/mauikit/build'
[  0%] Built target copy
make  -f src/CMakeFiles/MauiKit_autogen.dir/build.make src/CMakeFiles/MauiKit_autogen.dir/depend
make[2]: Entering directory '/home/ben/Code/maui-shell/mauikit/build'
cd /home/ben/Code/maui-shell/mauikit/build && /home/ben/cmake-3.22.1-linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /home/ben/Code/maui-shell/mauikit /home/ben/Code/maui-shell/mauikit/src /home/ben/Code/maui-shell/mauikit/build /home/ben/Code/maui-shell/mauikit/build/src /home/ben/Code/maui-shell/mauikit/build/src/CMakeFiles/MauiKit_autogen.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/ben/Code/maui-shell/mauikit/build'
make  -f src/CMakeFiles/MauiKit_autogen.dir/build.make src/CMakeFiles/MauiKit_autogen.dir/build
make[2]: Entering directory '/home/ben/Code/maui-shell/mauikit/build'
[  1%] Generating controls_labs_CSDControls_qml.cpp
cd /home/ben/Code/maui-shell/mauikit/build/src && /usr/bin/qmlcachegen --resource=/home/ben/Code/maui-shell/mauikit/src/mauikit.qrc /home/ben/Code/maui-shell/mauikit/src/controls/labs/CSDControls.qml -o /home/ben/Code/maui-shell/mauikit/build/src/controls_labs_CSDControls_qml.cpp
Error compiling qml file: /home/ben/Code/maui-shell/mauikit/src/controls/labs/CSDControls.qml:17:14: error: Expected token `:'
make[2]: *** [src/CMakeFiles/MauiKit_autogen.dir/build.make:376: src/controls_labs_CSDControls_qml.cpp] Error 1
make[2]: Leaving directory '/home/ben/Code/maui-shell/mauikit/build'
make[1]: *** [CMakeFiles/Makefile2:372: src/CMakeFiles/MauiKit_autogen.dir/all] Error 2
make[1]: Leaving directory '/home/ben/Code/maui-shell/mauikit/build'
make: *** [Makefile:149: all] Error 2

To Reproduce Steps to reproduce the behavior:

  1. Follow steps in Compile Source
  2. Observe error on step 4

Expected behavior I expect it to build successfully

Screenshots n/a

Desktop (please complete the following information):

Disclaimer I am not very experienced with C/C++ so apologies if this is a very obvious issue.

UriHerrera commented 2 years ago

Please post all of the output of cmake; this is only the output of make.

What version of extra-cmake-modules are you using?.

I've changed the title of your issue because otherwise, it is off-topic here. This repository is not for MauiKit issues.

cniw commented 2 years ago

@bcheidemann how did you get to that stage, I also tried to install it on ubuntu 20.04 but it was immediately rejected because the qt5 version does not meet the minimum requirements

CMake Error at CMakeLists.txt:53 (find_package):
  Could not find a configuration file for package "Qt5" that is compatible
  with requested version "5.14.0".

  The following configuration files were considered but not accepted:

    /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake, version: 5.12.8
    /lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake, version: 5.12.8

but another method that I have used successfully to install maui-shell on ubuntu 20.04 is by adding the repository package from kde neon so i can have updated qt5, kf5 and mauikit all at once from there, then i just need to build maui-shell only

 sudo apt install git software-properties-common
 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E6D4736255751E5D
 sudo apt-add-repository "deb https://archive.neon.kde.org/dev/unstable focal main"
 sudo apt update
 sudo apt dist-upgrade
 sudo apt install mauikit-dev
UriHerrera commented 2 years ago

I updated the instructions in the Wiki. You will need to add the KDE Neon User repository as the KF5 libraries need to be newer than 5.80.0. Else MauiKit and everything else will fail to compile in Ubuntu 20.04.

Or use a newer release of Ubuntu, like 21.10.

bcheidemann commented 2 years ago

Yes I also had the the same error about Qt5. I built the required version (5.14.0) of Qt5 from source. Thanks for the info, I will try this adding the KDE Neon User repository.

bcheidemann commented 2 years ago

I have added the KDE Neon User repository and followed the Wiki instructions. I now get the following error when running make in mauikit/build:

/usr/bin/cmake -S/home/ben/Code/mauikit -B/home/ben/Code/mauikit/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/ben/Code/mauikit/build/CMakeFiles /home/ben/Code/mauikit/build//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/ben/Code/mauikit/build'
make  -f src/CMakeFiles/copy.dir/build.make src/CMakeFiles/copy.dir/depend
make[2]: Entering directory '/home/ben/Code/mauikit/build'
cd /home/ben/Code/mauikit/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/ben/Code/mauikit /home/ben/Code/mauikit/src /home/ben/Code/mauikit/build /home/ben/Code/mauikit/build/src /home/ben/Code/mauikit/build/src/CMakeFiles/copy.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/ben/Code/mauikit/build'
make  -f src/CMakeFiles/copy.dir/build.make src/CMakeFiles/copy.dir/build
make[2]: Entering directory '/home/ben/Code/mauikit/build'
cd /home/ben/Code/mauikit/build/src && /usr/bin/cmake -E copy_directory /home/ben/Code/mauikit/src/controls /home/ben/Code/mauikit/build/bin/org/mauikit/controls
make[2]: Leaving directory '/home/ben/Code/mauikit/build'
[  1%] Built target copy
make  -f src/CMakeFiles/MauiKit_autogen.dir/build.make src/CMakeFiles/MauiKit_autogen.dir/depend
make[2]: Entering directory '/home/ben/Code/mauikit/build'
cd /home/ben/Code/mauikit/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/ben/Code/mauikit /home/ben/Code/mauikit/src /home/ben/Code/mauikit/build /home/ben/Code/mauikit/build/src /home/ben/Code/mauikit/build/src/CMakeFiles/MauiKit_autogen.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/ben/Code/mauikit/build'
make  -f src/CMakeFiles/MauiKit_autogen.dir/build.make src/CMakeFiles/MauiKit_autogen.dir/build
make[2]: Entering directory '/home/ben/Code/mauikit/build'
[  1%] Automatic MOC and UIC for target MauiKit
cd /home/ben/Code/mauikit/build/src && /usr/bin/cmake -E cmake_autogen /home/ben/Code/mauikit/build/src/CMakeFiles/MauiKit_autogen.dir/AutogenInfo.json Release

AutoMoc subprocess error
------------------------
The moc process failed to compile
  "SRC:/src/utils/notify.h"
into
  "SRC:/build/src/MauiKit_autogen/7HEHEGDA3T/moc_notify.cpp"

Command
-------
/usr/local/Qt-5.14.2/bin/moc -DKCOREADDONS_LIB -DMauiKit_EXPORTS -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQUICK_COMPILER -I/home/ben/Code/mauikit/build/src -I/home/ben/Code/mauikit/src -I/home/ben/Code/mauikit/src/utils -I/home/ben/Code/mauikit/build/src/utils -I/home/ben/Code/mauikit/src/utils/models -I/home/ben/Code/mauikit/build/src/utils/models -I/home/ben/Code/mauikit/src/utils/model_template -I/home/ben/Code/mauikit/build/src/utils/model_template -I/home/ben/Code/mauikit/src/controls/libs -I/home/ben/Code/mauikit/build/src/controls/libs -I/home/ben/Code/mauikit/src/platforms -I/home/ben/Code/mauikit/build/src/platforms -I/home/ben/Code/mauikit/src/platforms/linux -I/home/ben/Code/mauikit/build/src/platforms/linux -I/usr/local/Qt-5.14.2/include -I/usr/local/Qt-5.14.2/include/QtX11Extras -I/usr/local/Qt-5.14.2/include/QtGui -I/usr/local/Qt-5.14.2/include/QtCore -I/usr/local/Qt-5.14.2/mkspecs/linux-g++ -I/usr/include/KF5/KWindowSystem -I/usr/include/KF5 -I/usr/local/Qt-5.14.2/include/QtWidgets -I/usr/include/KF5/KConfigCore -I/usr/include/KF5/KI18n -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KNotifications -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/local/Qt-5.14.2/include/QtQml -I/usr/local/Qt-5.14.2/include/QtNetwork -I/usr/local/Qt-5.14.2/include/QtSvg -I/usr/local/Qt-5.14.2/include/QtQuickControls2 -I/usr/local/Qt-5.14.2/include/QtQuick -I/usr/local/Qt-5.14.2/include/QtQmlModels -I/usr/include -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu --include /home/ben/Code/mauikit/build/src/MauiKit_autogen/moc_predefs.h -o /home/ben/Code/mauikit/build/src/MauiKit_autogen/7HEHEGDA3T/moc_notify.cpp /home/ben/Code/mauikit/src/utils/notify.h

Output
------
/home/ben/Code/mauikit/src/utils/notify.h:58: Parse error at "REQUIRED"

make[2]: *** [src/CMakeFiles/MauiKit_autogen.dir/build.make:203: src/CMakeFiles/MauiKit_autogen] Error 1
make[2]: Leaving directory '/home/ben/Code/mauikit/build'
make[1]: *** [CMakeFiles/Makefile2:372: src/CMakeFiles/MauiKit_autogen.dir/all] Error 2
make[1]: Leaving directory '/home/ben/Code/mauikit/build'
make: *** [Makefile:149: all] Error 2
UriHerrera commented 2 years ago

I updated the Wiki. Also, I can confirm that you can compile MauiKit, MauiKit FileBrowsing, and Maui Shell following its instructions.