Bug 455648 - kf.coreaddons: "Could not load plugin from kcm_kscreen: The shared library was not found."
Summary: kf.coreaddons: "Could not load plugin from kcm_kscreen: The shared library wa...
Status: CLOSED DOWNSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: 5.25.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-20 11:40 UTC by northon_patrick3
Modified: 2023-04-28 09:32 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description northon_patrick3 2022-06-20 11:40:26 UTC
SUMMARY
systemsettings is unable to load plugins such as kcm_kscreen or kcm_pulseaudio.

STEPS TO REPRODUCE
Launch systemsettings with for example `systemsettings5 kcm_kscreen`

OBSERVED RESULT
Output shows the following error: `kf.coreaddons: "Could not load plugin from kcm_kscreen: The shared library was not found."` Also, making changes to settings has no effect.

EXPECTED RESULT
The plugin should be loaded.

SOFTWARE/OS VERSIONS
Arch Linux
KDE Plasma Version: 5.25.0
KDE Frameworks Version: 5.95.0
Qt Version: 5.15.5

ADDITIONAL INFORMATION
It was working in the previous version. I took a little look at the code, I find it strange that the filename is reported as `kcm_kscreen` rather than a full path, but maybe I'm misunderstanding the code. I'm reporting it here, but maybe the problem is in kcoreaddons.
Comment 1 Nate Graham 2022-06-21 18:01:22 UTC
This means a distro packaging or local setup issue has caused files to be missing. I would recommend asking for help in a venue specific to your distro.
Comment 2 Hans Meine 2023-03-02 15:31:23 UTC
I have the same problem, and I only found out when debugging why Plasma does not work properly since I upgraded Kubuntu to 22.04. (My original problem is that I do not get a dock or desktop background; krunner works.)

The problem seems to be related to the proprietary NVidia driver (which I need for work); if I switch to Nouveau, Plasma works.

Now I found some reports online that suggested this could be due to a broken multi-monitor setup – I guess if Plasma believed there was more than one screen, that could explain what I am seeing. Hence, I was trying to look into the configuration and found a suspiciously uninteresting display configuration control panel (that only allows to set a zoom scale).

When I try running `kcmshell5 kscreen`, I am getting

    kf.coreaddons: "Could not load plugin from kcm_kscreen: The shared library was not found."
    kf.kirigami: Warning: Theme implementations should use Kirigami.BasicThemeDefinition for its root item
    kf.kirigami: Failed to find a Kirigami platform plugin
    file:///usr/share/kpackage/kcms/kcm_kscreen/contents/ui/Screen.qml:39: TypeError: Value is null and could not be converted to an object
    qt.qpa.xcb: QXcbConnection: XCB error: 148 (Unknown), sequence: 190, resource id: 0, major code: 140 (Unknown), minor code: 20

Just running `ldd` on kcm_kscreen.so, though, does not reveal any problems.  What's more, running strace on the above command shows that it does seem to load the DLL *after* giving the error message?

    statx(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_kscreen", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_kscreen.so", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/libkcm_kscreen", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/libkcm_kscreen.so", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/bin/kcm_kscreen", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/bin/kcm_kscreen.so", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/bin/libkcm_kscreen", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/bin/libkcm_kscreen.so", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4e0) = -1 ENOENT (No such file or directory)
    write(2, "kf.coreaddons: \"Could not load p"..., 91kf.coreaddons: "Could not load plugin from kcm_kscreen: The shared library was not found."
) = 91
    statx(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/kcms/kcm_kscreen", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffcb3c5b4d0) = -1 ENOENT (No such file or directory)
    statx(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/kcms/kcm_kscreen.so", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=213464, ...}) = 0
    openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/qt5/plugins/kcms/kcm_kscreen.so", O_RDONLY|O_CLOEXEC) = 27
    statx(27, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=213464, ...}) = 0
    statx(27, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=213464, ...}) = 0

I admit that this might not be the right place to report this, but I decided to reopen the issue in the hope that people can either help debugging this directly here or point me (and others who might have the same problem) to a better location.
Comment 3 Nate Graham 2023-03-02 15:46:26 UTC
Your issue is the same as the original one: a distro packaging problem. It looks like you're missing libraries for KScreen and Kirigami. There's nothing KDE can do about broken installations; please report the issue to your distro. Thanks!
Comment 4 Hans Meine 2023-04-28 09:32:30 UTC
I will not say that it's not a distro packaging problem, yet I want to say that I am absolutely puzzled by this, and I personally cannot relate my findings to missing libraries yet. (First, it works with the nouveau driver, which means that the packaging did *something* correctly, second, even in the failing case, strace shows that kcm_screen.so is found, only *after* the error was reported.)