wallpaper-engine-kde-plugin icon indicating copy to clipboard operation
wallpaper-engine-kde-plugin copied to clipboard

qtwebsockets and python3-websockets libraries are not present, but are installed.

Open itsfirestorm opened this issue 1 year ago • 10 comments

I've installed the plugin from KDE Store while also installing the dependencies mentioned in the GitHub page. However, after selecting the plugin in the wallpaper configuration. It mentions that the qtwebsockets module wasn't present, after looking at the "About" section, I noticed that the python websockets plugin wasn't present as well.

I've tried reinstalling both modules, with no success. I want to know if someone else had this issue and had resolved it, and know possible fixes.

System Info

  • Kde: 6.1.5 on Wayland
  • Qt:. 6.7.2
  • OS: Ubuntu 22.04 LTS "KDE Neon"
  • Installation Source: KDE Store
  • Wallpaper Engine version: 2.5.28

Konsole Log

sudo apt install python3-websockets qml-module-qtwebsocketsReading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3-websockets is already the newest version (9.1-1).
qml-module-qtwebsockets is already the newest version (5.15.14+p22.04+vrelease+git20240820.1137-0).
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Screenshot_20240912_110733-1

itsfirestorm avatar Sep 12 '24 09:09 itsfirestorm

I'm glad to hear the KDE store plugin is at least installing, means it was updated at some point. The dependencies are referenced mainly if you are compiling from source. ~~Whether you are installing dependencies while installing from the KDE store shouldn't entirely matter, as they are installed and referenced regardless~~ (Read the README, I'm wrong here. Still best to compile from source). This was when i installed during KDE 5, and again, that was a bit ago.

What I do now are two things:

  1. I compile this plugin from source.
  2. I did install using the AUR, but I do not know how well that is maintained (will probably flag it out of date myself if necessary).

Dependencies are necessary for compiling from source, and you have them actively installed. I would recommend following the steps necessary to compile from source from the README (using the main branch since they've updated branching). Make sure to uninstall the KDE store plugin first.

In my experience, some of the compile commands may require sudo or permission changes, but I don't want to give you wrong information. Compile from source and tell me how it goes.

joshrandall8478 avatar Sep 12 '24 11:09 joshrandall8478

I'm having the exact same issue on the exact same distro. Except, I installed it from source. I installed using 'sudo su' which got the plugin lib to check off. I'm thinking it's a linking issue. I'm trying to find where it says to look for qtwebsockets and python3-websockets in the make files.

MonsieurPoole avatar Sep 22 '24 06:09 MonsieurPoole

I got this to work. First things first, my system info:

Kde: 6.1.5 on X11 Qt:. 6.7.2 OS: Ubuntu 22.04 LTS "KDE Neon" Installation Source: KDE Store & Source Wallpaper Engine version: 2.5.28

I ran the dependency install as first step:

sudo apt install build-essential libvulkan-dev plasma-workspace-dev gstreamer1.0-libav \
liblz4-dev libmpv-dev python3-websockets qtbase5-private-dev \
libqt5x11extras5-dev \
qml-module-qtwebchannel qml-module-qtwebsockets cmake

Here's where I deviated (& shoutout to slynobody at https://github.com/slynobody/SteamOS-wallpaper-engine-kde-plugin)

sudo apt install installed gstreamer1.0-libav qml-module-qtwebchannel qml-module-qtwebsockets libgstreamer-plugins-bad1.0-0 gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gir1.2-gst-plugins-bad-1.0 python3-websockets **libmpv2** libqt6websockets6 qml6-module-qtwebsockets

I got an error for not having libmpv2 - but I ignored it. Also, I didn't have clang installed, so I installed that before doing any of this.

Next, I navigated to .local/share/ and ran:

# Download source
git clone https://github.com/catsout/wallpaper-engine-kde-plugin.git
cd wallpaper-engine-kde-plugin

# Download submodule
git submodule update --init --force --recursive

At this point, I switched over to super user because sudo wasn't allowing the two files listed below to be placed in the path. - This is what's preventing the plugin library from being checked off.

/usr/lib/x86_64-linux-gnu/qt6/qml/com/github/catsout/wallpaperEngineKde/libWallpaperEngineKde.so /usr/lib/x86_64-linux-gnu/qt6/qml/com/github/catsout/wallpaperEngineKde/qmldir

sudo su

# Configure, build and install
# 'USE_PLASMAPKG=ON': using kpackagetool tool to install plugin
cmake -B build -S . -GNinja -DUSE_PLASMAPKG=ON
cmake --build build
cmake --install build

# Install package (ignore if USE_PLASMAPKG=OFF for system-wide installation)
cmake --build build --target install_pkg

I then ran the following code to 'uninstall': kpackagetool6 -t Plasma/Wallpaper -r com.github.catsout.wallpaperEngineKde

Lastly, I reinstalled it from the themes KDE Store and when it booted up, all dependencies were showing checked off. I'm fairly certain this was like, the most ass-backward way to do this. I'm just telling you my steps.

image

MonsieurPoole avatar Sep 22 '24 19:09 MonsieurPoole

So I tried these steps and didn't get any success. I still have the same error as OP.

OS: OpenSUSE TW 20240924 KDE Plasma Version: 6.1.5 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.2 Graphics Platform: Wayland

image image image

toweringdoor avatar Sep 25 '24 18:09 toweringdoor

So, to clarify, you tried installing the additional packages, and still nothing?

libgstreamer-plugins-bad1.0-0 gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gir1.2-gst-plugins-bad-1.0 libqt6websockets6 qml6-module-qtwebsockets

MonsieurPoole avatar Sep 25 '24 18:09 MonsieurPoole

So, to clarify, you tried installing the additional packages, and still nothing?

libgstreamer-plugins-bad1.0-0 gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gir1.2-gst-plugins-bad-1.0 libqt6websockets6 qml6-module-qtwebsockets

Checked and I have everything except gir1.2

toweringdoor avatar Sep 25 '24 19:09 toweringdoor

zypper se --installed-only gstreamer

S  | Name                            | Summary                                                         | Type
---+---------------------------------+-----------------------------------------------------------------+--------
i+ | gstreamer                       | Streaming-Media Framework Runtime                               | package
i+ | gstreamer-32bit                 | Streaming-Media Framework Runtime                               | package
i+ | gstreamer-lang                  | Translations for package gstreamer                              | package
i+ | gstreamer-libnice               | GStreamer plugin for the Interactive Connectivity Establishment | package
i+ | gstreamer-plugin-cluttergst3    | GStreamer Clutter Plug-In                                       | package
i+ | gstreamer-plugin-openh264       | Gstreamer openh264 plugin                                       | package
i+ | gstreamer-plugin-pipewire       | Gstreamer Plugin for PipeWire                                   | package
i+ | gstreamer-plugins-bad           | GStreamer Streaming-Media Framework Plug-Ins                    | package
i+ | gstreamer-plugins-bad-codecs    | Codecs/plugins for gstreamer-plugins-bad                        | package
i+ | gstreamer-plugins-bad-lang      | Translations for package gstreamer-plugins-bad                  | package
i+ | gstreamer-plugins-base          | GStreamer Streaming-Media Framework Plug-Ins                    | package
i+ | gstreamer-plugins-base-lang     | Translations for package gstreamer-plugins-base                 | package
i+ | gstreamer-plugins-good          | GStreamer Streaming-Media Framework Plug-Ins                    | package
i+ | gstreamer-plugins-good-extra    | Complementary plugins for gstreamer-plugins-good                | package
i+ | gstreamer-plugins-good-gtk      | Gtksink plugin for gstreamer-plugins-good                       | package
i+ | gstreamer-plugins-good-lang     | Translations for package gstreamer-plugins-good                 | package
i+ | gstreamer-plugins-good-qtqml6   | Qml6glsink plugin for gstreamer-plugins-good                    | package
i+ | gstreamer-plugins-libav         | A ffmpeg/libav plugin for GStreamer                             | package
i+ | gstreamer-plugins-ugly          | GStreamer Streaming-Media Framework Plug-Ins                    | package
i+ | gstreamer-plugins-ugly-codecs   | Codecs/plugins for gstreamer-plugins-ugly                       | package
i+ | gstreamer-plugins-ugly-lang     | Translations for package gstreamer-plugins-ugly                 | package
i+ | gstreamer-utils                 | Streaming-Media Framework Runtime                               | package
i+ | libgstreamer-1_0-0              | Streaming-Media Framework Runtime                               | package
i+ | libgstreamer-1_0-0-32bit        | Streaming-Media Framework Runtime                               | package
i+ | libgupnp-dlna-backend-gstreamer | GUPnP-DLNA GStreamer meta-extraction backend                    | package
i+ | PackageKit-gstreamer-plugin     | Install GStreamer codecs using PackageKit                       | package
i  | vlc-codec-gstreamer             | GStreamer integration for the VLC media player                  | package

websockets

S  | Name                         | Summary                                                | Type
---+------------------------------+--------------------------------------------------------+--------
i+ | libqt5-qtwebsockets-devel    | Development files for the Qt5 WebSockets library       | package
i  | libQt5WebSockets5            | Qt 5 WebSockets Library                                | package
i  | libQt6WebSockets6            | Qt 6 WebSockets library                                | package
i+ | python310-websockets         | An implementation of the WebSocket Protocol (RFC 6455) | package
i+ | python311-websockets         | An implementation of the WebSocket Protocol (RFC 6455) | package
i+ | python312-websockets         | An implementation of the WebSocket Protocol (RFC 6455) | package
i+ | qt6-websockets-devel         | Qt 6 WebSockets library - Development files            | package
i+ | qt6-websockets-private-devel | Non-ABI stable API for the Qt 6 WebSockets library     | package

toweringdoor avatar Sep 25 '24 19:09 toweringdoor

S | Name | Summary | Type ---+------------------------------+--------------------------------------------------------+-------- i+ | libqt5-qtwebsockets-devel | Development files for the Qt5 WebSockets library | package i | libQt5WebSockets5 | Qt 5 WebSockets Library | package i | libQt6WebSockets6 | Qt 6 WebSockets library | package i+ | python310-websockets | An implementation of the WebSocket Protocol (RFC 6455) | package i+ | python311-websockets | An implementation of the WebSocket Protocol (RFC 6455) | package i+ | python312-websockets | An implementation of the WebSocket Protocol (RFC 6455) | package i+ | qt6-websockets-devel | Qt 6 WebSockets library - Development files | package i+ | qt6-websockets-private-devel | Non-ABI stable API for the Qt 6 WebSockets library | package

I'm not seeing qml6-module-qtwebsockets

MonsieurPoole avatar Sep 25 '24 19:09 MonsieurPoole

OK I fixed it, so qml6-module-qtwebsockets doesn't exist in the normal repos. I installed qt6-websockets-imports and it loaded Screenshot_20240925_151548

toweringdoor avatar Sep 25 '24 20:09 toweringdoor

Yay! Glad to see you got it fixed, friend.

MonsieurPoole avatar Sep 25 '24 20:09 MonsieurPoole

OK I fixed it, so qml6-module-qtwebsockets doesn't exist in the normal repos. I installed qt6-websockets-imports and it loaded Screenshot_20240925_151548

for openSUSE Tumbleweed, use qt6-websockets-imports from openSUSE:repo-oss

Philogag avatar Nov 18 '24 16:11 Philogag