Bug 481419 - Failure to build kcalc right after successfull kdesrc-build --pretend
Summary: Failure to build kcalc right after successfull kdesrc-build --pretend
Status: RESOLVED NOT A BUG
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: general (show other bugs)
Version: Git
Platform: Debian testing Linux
: NOR grave
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-16 15:33 UTC by rusconi
Modified: 2024-03-08 18:17 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rusconi 2024-02-16 15:33:11 UTC
Greetings, 

From the git https://invent.kde.org/sdk/kdesrc-build page, I followed all the steps up to:

$ kdesrc-build --pretend

The output is very reassuring:

```
Holding performance profile

Building extra-cmake-modules from frameworks (1/375)
        Cloning extra-cmake-modules
        Source update complete for extra-cmake-modules: 1 file affected.
        Preparing build system for extra-cmake-modules.
        Running cmake targeting Kate - Ninja...
        Compiling... succeeded (after 0 seconds)
        Installing extra-cmake-modules succeeded (after 0 seconds)

[... lots of similar output with only succeeded outcome]

Building xwaylandvideobridge from xwaylandvideobridge (374/375)
        Cloning xwaylandvideobridge
        Source update complete for xwaylandvideobridge: 1 file affected.
        Preparing build system for xwaylandvideobridge.
        Running cmake targeting Kate - Ninja...
        Compiling... succeeded (after 0 seconds)
        Installing xwaylandvideobridge succeeded (after 0 seconds)

Building qrca from qrca (375/375)
        Cloning qrca
        Source update complete for qrca: 1 file affected.
        Preparing build system for qrca.
        Running cmake targeting Kate - Ninja...
        Compiling... succeeded (after 0 seconds)
        Installing qrca succeeded (after 0 seconds)

<<<  PACKAGES SUCCESSFULLY BUILT  >>>
Built 375 modules
```

I thus go on with the build of kcalc (small program to start with) and at that point that fails like this:

```
% kdesrc-build kcalc                                                                                                                                                                                         git:(master|) 
Fetching remote changes to sysadmin-repo-metadata
Merging sysadmin-repo-metadata changes from branch master
Holding performance profile

Building extra-cmake-modules from frameworks (1/22)
        Cloning extra-cmake-modules
        Source update complete for extra-cmake-modules: 579 files affected.
        Preparing build system for extra-cmake-modules.
        Running cmake targeting Kate - Ninja...
        Compiling... succeeded (after 2 seconds)
        Installing extra-cmake-modules succeeded (after 1 second)

Building kconfig from frameworks (2/22)
        Cloning kconfig
        Source update complete for kconfig: 395 files affected.
        Preparing build system for kconfig.
        Running cmake targeting Kate - Ninja...
        Unable to configure kconfig with KDE CMake

kconfig didn't build, stopping here.

<<<  PACKAGES FAILED TO BUILD  >>>
kconfig - /home/rusconi/kde/src/log/2024-02-16-01/kconfig/cmake.log

Possible solution: Install the build dependencies for the modules:
kconfig
You can use 'sudo apt build-dep <source_package>', 'sudo dnf builddep <package>', 'sudo zypper --plus-content repo-source source-install --build-deps-only <source_package>' or a similar command for your distro of choice.
See https://community.kde.org/Get_Involved/development/Install_the_dependencies

Important notification for kconfig:
    kconfig has failed to build 7 times.

:-(
Your logs are saved in /home/rusconi/kde/src/log/2024-02-16-01
  (additional logs are saved in /home/rusconi/.local/state/log/2024-02-16-03)
```

At that point, I look into /home/rusconi/kde/src/log/2024-02-16-01/kconfig/cmake.log

```
      1 # kdesrc-build running: 'cmake' '-B' '.' '-S' '/home/rusconi/kde/src/kconfig' '-G' 'Kate - Ninja' '-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON' '-DCMAKE_BUILD_TYPE=RelWithDebInfo' '-DBUILD_WITH_QT6=ON' '-DCMAKE_CXX_FLAGS:STRING=-pip      1 e' '-DCMAKE_INSTALL_PREFIX=/home/rusconi/kde/usr'
      2 # from directory: /home/rusconi/kde/build/kconfig
      3 CMake Deprecation Warning:
      4   Support for "Extra Generators" like
      5 
      6     Kate
      7 
      8   is deprecated and will be removed from a future version of CMake.  IDEs may
      9   use the cmake-file-api(7) to view CMake-generated project build trees.
     10 
     11 
     12 -- The C compiler identification is GNU 13.2.0
     13 -- The CXX compiler identification is GNU 13.2.0
     14 -- Detecting C compiler ABI info
     15 -- Detecting C compiler ABI info - done
     16 -- Check for working C compiler: /usr/lib/ccache/cc - skipped
     17 -- Detecting C compile features
     18 -- Detecting C compile features - done
     19 -- Detecting CXX compiler ABI info
     20 -- Detecting CXX compiler ABI info - done
     21 -- Check for working CXX compiler: /usr/lib/ccache/c++ - skipped
     22 -- Detecting CXX compile features
     23 -- Detecting CXX compile features - done
     24 -- 
     25 
     26 Installing in /home/rusconi/kde/usr. Run /home/rusconi/kde/build/kconfig/prefix.sh to set the environment for KConfig.
     27 -- Performing Test HAVE_STDATOMIC
     28 -- Performing Test HAVE_STDATOMIC - Success
     29 -- Found WrapAtomic: TRUE  
     30 -- Looking for __GLIBC__
     31 -- Looking for __GLIBC__ - found
     32 -- Performing Test _OFFT_IS_64BIT
     33 -- Performing Test _OFFT_IS_64BIT - Success
     34 -- Performing Test HAVE_DATE_TIME
     35 -- Performing Test HAVE_DATE_TIME - Success
     36 -- Performing Test BSYMBOLICFUNCTIONS_AVAILABLE
     37 -- Performing Test BSYMBOLICFUNCTIONS_AVAILABLE - Success
     38 CMake Error at /home/rusconi/kde/usr/share/ECM/modules/ECMQmlModule6.cmake:24 (qt6_policy):
     39   Unknown CMake command "qt6_policy".
     40 Call Stack (most recent call first):
     41   /home/rusconi/kde/usr/share/ECM/modules/ECMQmlModule.cmake:177 (include)
     42   CMakeLists.txt:26 (include)
     43 
     44 
     45 -- Configuring incomplete, errors occurred!
```

And looking into ECMQmlModule6.cmake, line 24 :

```
    23 # Stop warning about a changed import prefix.
    24 qt6_policy(SET QTP0001 NEW)
```

Two questions:
1. It seems  line 24 is not essential, how can I comment it out and rerun the build without having my modification overwritten ?
2. Where is the qt6_policy macro defined ? Am I missing some Qt6-related package ?

Thank you for your work and for your help,
Sincerely,
Filippo
Comment 1 fanzhuyifan 2024-02-16 16:39:07 UTC
Hi, please use the matrix channels https://community.kde.org/Matrix for development support and issues with building.
Comment 2 Alex Cruise 2024-03-08 18:17:09 UTC
Note that `qt_policy` was introduced in Qt 6.5, according to https://doc.qt.io/qt-6/qt-policy.html ... the ubuntu qt6 packages are 6.4.2 as of today.