matinlotfali / KDE-Rounded-Corners

Rounds the corners of your windows in KDE Plasma 5 and 6
GNU General Public License v3.0
638 stars 22 forks source link

Can't build on Kubuntu 24.10 #278

Closed alex20137 closed 1 month ago

alex20137 commented 1 month ago

On Kubuntu 24.10 I can't install this dependency per the instructions for plasma 6 Ubuntu; kf6-kcmutils-dev can't be found by apt. Instead I've installed libkf6kcmutils-dev (perhaps the instructions should be changed?) which did however work. Now I am faced with the following issue during build time:

git clone https://github.com/matinlotfali/KDE-Rounded-Corners
cd KDE-Rounded-Corners
mkdir build
cd build
cmake ..
cmake --build . -j
sudo make install
Cloning into 'KDE-Rounded-Corners'...
remote: Enumerating objects: 2375, done.
remote: Counting objects: 100% (1070/1070), done.
remote: Compressing objects: 100% (369/369), done.
remote: Total 2375 (delta 872), reused 829 (delta 701), pack-reused 1305 (from 1)
Receiving objects: 100% (2375/2375), 4.23 MiB | 9.09 MiB/s, done.
Resolving deltas: 100% (1584/1584), done.
-- The CXX compiler identification is GNU 14.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
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Found KF6ConfigWidgets: /usr/lib/x86_64-linux-gnu/cmake/KF6ConfigWidgets/KF6ConfigWidgetsConfig.cmake (found version "6.6.0")
-- Installing in the same prefix as Qt, adopting their path scheme.
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
-- Found KF6: success (found suitable version "6.6.0", minimum required is "6") found components: ConfigWidgets
-- Found KF6KCMUtils: /usr/lib/x86_64-linux-gnu/cmake/KF6KCMUtils/KF6KCMUtilsConfig.cmake (found version "6.6.0")
-- Found KF6: success (found suitable version "6.6.0", minimum required is "6") found components: KCMUtils
-- Found XKB: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found suitable version "1.6.0", minimum required is "0.5.0")
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found Wayland_Server: /usr/lib/x86_64-linux-gnu/libwayland-server.so (found version "1.23.0")
-- Found Wayland: /usr/lib/x86_64-linux-gnu/libwayland-server.so (found version "1.23.0") found components: Server
-- Found epoxy: /usr/lib/x86_64-linux-gnu/libepoxy.so (found version "1.5.10")
-- Found KWin Version: 6.1.5
-- Found KWinEffect API Version: 236
-- Found XCB_XCB: /usr/lib/x86_64-linux-gnu/libxcb.so (found version "1.17.0")
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so (found version "1.17.0") found components: XCB
-- The following OPTIONAL packages have been found:

 * OpenGL
 * Qt6DBusTools (required version >= 6.6.2)
 * Qt6QmlTools (required version >= 6.6.2)
 * Qt6CoreTools (required version >= 6.6.2)
 * XKB (required version >= 0.5.0), XKB API common to servers and clients., <http://xkbcommon.org>
 * WrapVulkanHeaders
 * Qt6GuiTools (required version >= 6.6.2)

-- The following REQUIRED packages have been found:

 * ECM (required version >= 5.100)
 * KF6ConfigWidgets (required version >= 6.6.0)
 * KF6KCMUtils (required version >= 6)
 * KF6 (required version >= 6)
 * KWin
 * epoxy
 * XCB, X protocol C-language Binding, <https://xcb.freedesktop.org/>
 * KWinDBusInterface

-- Configuring done (2.0s)
CMake Error in src/CMakeLists.txt:
  Imported target "Qt6::CorePrivate" includes non-existent path

    "/usr/include/x86_64-linux-gnu/qt6/QtCore/6.6.2"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

CMake Error in src/kcm/CMakeLists.txt:
  Imported target "Qt6::CorePrivate" includes non-existent path

    "/usr/include/x86_64-linux-gnu/qt6/QtCore/6.6.2"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

CMake Error in src/CMakeLists.txt:
  Imported target "Qt6::CorePrivate" includes non-existent path

    "/usr/include/x86_64-linux-gnu/qt6/QtCore/6.6.2"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

CMake Error in src/kcm/CMakeLists.txt:
  Imported target "Qt6::CorePrivate" includes non-existent path

    "/usr/include/x86_64-linux-gnu/qt6/QtCore/6.6.2"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

-- Generating done (0.0s)
CMake Generate step failed.  Build files cannot be regenerated correctly.
[  4%] Merging shapecorners.glsl: shapecorners.frag and shapecorners_core.frag
[  4%] Built target kwin_shapecorners_config_autogen_timestamp_deps
[  4%] Built target kwin4_effect_shapecorners_autogen_timestamp_deps
[ 13%] Automatic MOC for target kwin4_effect_shapecorners
[ 13%] Automatic MOC for target kwin_shapecorners_config
[ 13%] Built target shaders
AutoMoc: /home/alexm/KDE-Rounded-Corners/src/kcm/plugin.cpp:14:1: note: No relevant classes found. No output generated.
[ 13%] Built target kwin_shapecorners_config_autogen
[ 18%] Generating Config.h, Config.cpp
[ 22%] Generating ui_KCM.h
[ 27%] Generating kwineffects_interface.cpp, kwineffects_interface.h
[ 31%] Generating moc_kwineffects_interface.cpp
[ 36%] Building CXX object src/kcm/CMakeFiles/kwin_shapecorners_config.dir/kwin_shapecorners_config_autogen/mocs_compilation.cpp.o
[ 45%] Building CXX object src/kcm/CMakeFiles/kwin_shapecorners_config.dir/plugin.cpp.o
[ 45%] Building CXX object src/kcm/CMakeFiles/kwin_shapecorners_config.dir/KCM.cpp.o
[ 50%] Building CXX object src/kcm/CMakeFiles/kwin_shapecorners_config.dir/Config.cpp.o
[ 54%] Building CXX object src/kcm/CMakeFiles/kwin_shapecorners_config.dir/kwineffects_interface.cpp.o
In file included from /home/alexm/KDE-Rounded-Corners/src/kcm/KCM.cpp:1:
/home/alexm/KDE-Rounded-Corners/src/kcm/KCM.h:3:10: fatal error: kcmodule.h: No such file or directory
    3 | #include <kcmodule.h>
      |          ^~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [src/kcm/CMakeFiles/kwin_shapecorners_config.dir/build.make:116: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/KCM.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /home/alexm/KDE-Rounded-Corners/src/kcm/plugin.cpp:1:
/home/alexm/KDE-Rounded-Corners/src/kcm/KCM.h:3:10: fatal error: kcmodule.h: No such file or directory
    3 | #include <kcmodule.h>
      |          ^~~~~~~~~~~~
In file included from /home/alexm/KDE-Rounded-Corners/build/src/kcm/kwin_shapecorners_config_autogen/EWIEGA46WW/moc_KCM.cpp:9,
                 from /home/alexm/KDE-Rounded-Corners/build/src/kcm/kwin_shapecorners_config_autogen/mocs_compilation.cpp:2:
/home/alexm/KDE-Rounded-Corners/build/src/kcm/kwin_shapecorners_config_autogen/EWIEGA46WW/../../../../../src/kcm/KCM.h:3:10: fatal error: kcmodule.h: No such file or directory
    3 | #include <kcmodule.h>
      |          ^~~~~~~~~~~~
compilation terminated.
compilation terminated.
In file included from /home/alexm/KDE-Rounded-Corners/build/src/kcm/kwineffects_interface.cpp:12:
/home/alexm/KDE-Rounded-Corners/build/src/kcm/kwineffects_interface.h:14:10: fatal error: QtCore/QObject: No such file or directory
   14 | #include <QtCore/QObject>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [src/kcm/CMakeFiles/kwin_shapecorners_config.dir/build.make:130: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/plugin.cpp.o] Error 1
gmake[2]: *** [src/kcm/CMakeFiles/kwin_shapecorners_config.dir/build.make:102: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/kwin_shapecorners_config_autogen/mocs_compilation.cpp.o] Error 1
gmake[2]: *** [src/kcm/CMakeFiles/kwin_shapecorners_config.dir/build.make:159: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/kwineffects_interface.cpp.o] Error 1
In file included from /home/alexm/KDE-Rounded-Corners/build/src/kcm/Config.cpp:4:
/home/alexm/KDE-Rounded-Corners/build/src/kcm/Config.h:6:10: fatal error: qglobal.h: No such file or directory
    6 | #include <qglobal.h>
      |          ^~~~~~~~~~~
compilation terminated.
gmake[2]: *** [src/kcm/CMakeFiles/kwin_shapecorners_config.dir/build.make:144: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/Config.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:487: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
[ 54%] Built target kwin4_effect_shapecorners_autogen
gmake: *** [Makefile:166: all] Error 2
[sudo] password for alexm: 
[  0%] Built target kwin4_effect_shapecorners_autogen_timestamp_deps
[  4%] Built target kwin4_effect_shapecorners_autogen
[  9%] Generating Config.h, Config.cpp
[ 13%] Building CXX object src/CMakeFiles/kwin4_effect_shapecorners.dir/kwin4_effect_shapecorners_autogen/mocs_compilation.cpp.o
[ 18%] Building CXX object src/CMakeFiles/kwin4_effect_shapecorners.dir/Effect.cpp.o
[ 22%] Building CXX object src/CMakeFiles/kwin4_effect_shapecorners.dir/Shader.cpp.o
[ 27%] Building CXX object src/CMakeFiles/kwin4_effect_shapecorners.dir/Window.cpp.o
[ 31%] Building CXX object src/CMakeFiles/kwin4_effect_shapecorners.dir/TileChecker.cpp.o
[ 36%] Building CXX object src/CMakeFiles/kwin4_effect_shapecorners.dir/plugin.cpp.o
[ 40%] Building CXX object src/CMakeFiles/kwin4_effect_shapecorners.dir/Config.cpp.o
[ 45%] Linking CXX shared module ../bin/kwin/effects/plugins/kwin4_effect_shapecorners.so
[ 45%] Built target kwin4_effect_shapecorners
[ 45%] Built target kwin_shapecorners_config_autogen_timestamp_deps
[ 50%] Built target kwin_shapecorners_config_autogen
[ 54%] Building CXX object src/kcm/CMakeFiles/kwin_shapecorners_config.dir/kwin_shapecorners_config_autogen/mocs_compilation.cpp.o
In file included from /home/alexm/KDE-Rounded-Corners/build/src/kcm/kwin_shapecorners_config_autogen/EWIEGA46WW/moc_KCM.cpp:9,
                 from /home/alexm/KDE-Rounded-Corners/build/src/kcm/kwin_shapecorners_config_autogen/mocs_compilation.cpp:2:
/home/alexm/KDE-Rounded-Corners/build/src/kcm/kwin_shapecorners_config_autogen/EWIEGA46WW/../../../../../src/kcm/KCM.h:3:10: fatal error: kcmodule.h: No such file or directory
    3 | #include <kcmodule.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/kcm/CMakeFiles/kwin_shapecorners_config.dir/build.make:102: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/kwin_shapecorners_config_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:487: src/kcm/CMakeFiles/kwin_shapecorners_config.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
thrdroom commented 1 month ago

@alex20137

I was able to successfully compile and install on Kubuntu 24.10 by doing this:

sudo apt install git cmake g++ extra-cmake-modules kwin-dev qt6-base-dev-tools libkf6kcmutils6 libkf6kcmutils-dev qt6-declarative-private-dev

git clone https://github.com/matinlotfali/KDE-Rounded-Corners
cd KDE-Rounded-Corners
mkdir build
cd build
cmake ..
cmake --build . -j
sudo make install

I was able to replicate this on multiple machines running Kubuntu 24.10

matinlotfali commented 1 month ago

I confirm that installing qt6-base-private-dev fixes the issue. There is no need to install qt6-declarative-private-dev which has qt6-base-private-dev in its dependencies.

I will include it in the new pull request.

thrdroom commented 1 month ago

I confirm that installing qt6-base-private-dev fixes the issue. There is no need to install qt6-declarative-private-dev which has qt6-base-private-dev in its dependencies.

I will include it in the new pull request.

Please don't forget to also update the package list on the build instruction for "Ubuntu, Kubuntu, KDE Neon" here: https://github.com/matinlotfali/KDE-Rounded-Corners/blob/master/README.md#how-to-build-from-source-code

as kf6-kcmutils-dev package can't be found but libkf6kcmutils-dev has to be used instead.

Plasma 6 old line: sudo apt install git cmake g++ extra-cmake-modules kwin-dev qt6-base-private-dev qt6-base-dev-tools kf6-kcmutils-dev

Plasma 6 new line sudo apt install git cmake g++ extra-cmake-modules kwin-dev qt6-base-private-dev qt6-base-dev-tools libkf6kcmutils-dev

matinlotfali commented 1 month ago

Nice catch! I fixed it.