catsout / wallpaper-engine-kde-plugin

A kde wallpaper plugin integrating wallpaper engine
https://store.kde.org/p/1475528/
GNU General Public License v2.0
1.81k stars 76 forks source link

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

Closed ItsFireStorm closed 3 weeks ago

ItsFireStorm commented 2 months ago

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

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

joshrandall8478 commented 2 months ago

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.

MonsieurPoole commented 1 month ago

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 commented 1 month ago

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

toweringdoor commented 1 month ago

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

MonsieurPoole commented 1 month ago

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

toweringdoor commented 1 month ago

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 commented 1 month ago

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
MonsieurPoole commented 1 month ago

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

toweringdoor commented 1 month ago

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

MonsieurPoole commented 1 month ago

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

Philogag commented 22 hours ago

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