Bug 457364

Summary: Building from source fails on Guix
Product: [Unmaintained] kscreenlocker Reporter: Petr <phodina>
Component: generalAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED DOWNSTREAM    
Severity: normal CC: bshah, nicolas.fella
Priority: NOR    
Version First Reported In: 5.25.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Build log

Description Petr 2022-08-01 09:10:52 UTC
Created attachment 151043 [details]
Build log

Hi, 

I'm building the kscreenlocker on Guix. The last version in the repository is 5.19.5.

As I update the package it fails to build.

I've removed the reference in settings/CMakeLists.txt to KF5::Config as this caused error in the configure stage.

However, in the build stage it fails as it can't find the KConfigPropertyMap. I've looked into the KConfig package and couldn't find any reference to the header file.

Here's the listing of the KConfig package:

/gnu/store/430lxpymlnj1r52wqqmshqnykc6ycnca-kconfig-5.96.0
├── bin
│   ├── kreadconfig5
│   └── kwriteconfig5
├── etc
│   └── ld.so.cache
├── include
│   └── KF5
│       ├── KConfig
│       │   └── kconfig_version.h
│       ├── KConfigCore
│       │   ├── ConversionCheck
│       │   ├── conversioncheck.h
│       │   ├── KAuthorized
│       │   ├── kauthorized.h
│       │   ├── KConfig
│       │   ├── KConfigBase
│       │   ├── kconfigbase.h
│       │   ├── kconfigcore_export.h
│       │   ├── KConfigGroup
│       │   ├── kconfiggroup.h
│       │   ├── kconfig.h
│       │   ├── KConfigWatcher
│       │   ├── kconfigwatcher.h
│       │   ├── KCoreConfigSkeleton
│       │   ├── kcoreconfigskeleton.h
│       │   ├── KDesktopFile
│       │   ├── kdesktopfile.h
│       │   ├── KEMailSettings
│       │   ├── kemailsettings.h
│       │   ├── KSharedConfig
│       │   └── ksharedconfig.h
│       └── KConfigGui
│           ├── KConfigGui
│           ├── kconfiggui_export.h
│           ├── kconfiggui.h
│           ├── KConfigLoader
│           ├── kconfigloader.h
│           ├── KConfigSkeleton
│           ├── kconfigskeleton.h
│           ├── KStandardShortcut
│           ├── kstandardshortcut.h
│           ├── KStandardShortcutWatcher
│           ├── kstandardshortcutwatcher.h
│           ├── KWindowConfig
│           ├── kwindowconfig.h
│           ├── KWindowStateSaver
│           └── kwindowstatesaver.h
├── lib
│   ├── cmake
│   │   └── KF5Config
│   │       ├── KF5ConfigCompilerTargets.cmake
│   │       ├── KF5ConfigCompilerTargets-relwithdebinfo.cmake
│   │       ├── KF5ConfigConfig.cmake
│   │       ├── KF5ConfigConfigVersion.cmake
│   │       ├── KF5ConfigMacros.cmake
│   │       ├── KF5ConfigTargets.cmake
│   │       └── KF5ConfigTargets-relwithdebinfo.cmake
│   ├── libexec
│   │   └── kf5
│   │       ├── kconfig_compiler_kf5
│   │       └── kconf_update
│   ├── libKF5ConfigCore.so -> libKF5ConfigCore.so.5
│   ├── libKF5ConfigCore.so.5 -> libKF5ConfigCore.so.5.96.0
│   ├── libKF5ConfigCore.so.5.96.0
│   ├── libKF5ConfigGui.so -> libKF5ConfigGui.so.5
│   ├── libKF5ConfigGui.so.5 -> libKF5ConfigGui.so.5.96.0
│   ├── libKF5ConfigGui.so.5.96.0
│   └── qt5
│       └── mkspecs
│           └── modules
│               ├── qt_KConfigCore.pri
│               └── qt_KConfigGui.pri
...

There is unfortunately no header file that's required in the KScreenlocker. 

Can you suggest how to fix this issue?
Comment 1 Nicolas Fella 2022-08-01 10:39:28 UTC
> I've removed the reference in settings/CMakeLists.txt to KF5::Config as this caused error in the configure stage.

Don't change random things in the build file and then report an error about it. Report the original problem.

Your actual problem is that your kconfig package was built without QML support, that's what neeeds fixing
Comment 2 Petr 2022-08-01 14:02:30 UTC
Hi Nicolas,

thanks for help. Adding the QML support to the KConfig package solved the problem. The KScreenlocker  package now builds.

Regarding the modification I had to apply this fix https://invent.kde.org/frameworks/plasma-framework/-/issues/13 so I also tried to use it here.