redditclient - missing Platform Plugin?
-
I started trying to build a application to access a google calendar, set up what I needed to and wrote the code using some on-line examples. I couldn't get it to work and it seems Google may have changed things recently, so I thought I try something simpler and get that to work first.
I'm doing this using:
Qt 5.15.2 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 5.3.1 20160406 (Red Hat 5.3.1-6)) on "xcb"
OS: Ubuntu 20.10 [linux version 5.8.0-43-generic]
The Distro: is Kubuntu, though I was using Neon and having the same problem.I am building and running the redditclient example, unchanged and I'm getting the error message:
kf.windowsystem: Could not find any platform plugin
Googling this isn't helpful, all I could establish is that kf.windowsystem is a KDE namespace.
Does anyone have any suggestions as to what platform plugin might be missing.
I found a lot of examples of code to fix the changes Google have made are there any suggestions to which is best to save me going around that loop again.
Thank you.
-
Hi,
How did you install Qt ?
Did you test your distribution provided Qt ? The one from Neon should be recent enough for your needs. -
I installed Qt with the online installer.
I liked Neon and would have stayed with it, but a couple of times I had to do a complete reinstall because the networking (Ethernet), failed after updates.
With the Neon it was working with QEvercloud (a RESTful interface for Evernote) and I could access their development site using OAuth, using that Library. Within the same application accessing the google calendar wouldn't work, I then tried it in a separate application with the same problems.
It went through the google authentication webpages , but didn't get the authorisation and got the error message I gave.
I was using a local database for information, some information from another website API that gives holiday dates and I wanted to include my own calendar appointments from google, to build notes within Evernote. Everything other than reading from Google was working.
-
I misread that sentence, but my suggestion still holds, you should test your distribution provided Qt.
In any case, start your application with the QT_DEBUG_PLUGINS environment variable set to 1, this will dump a lot of information with regard to the plugins being loaded by your application.
-
@SGaist said in redditclient - missing Platform Plugin?:
QT_DEBUG_PLUGINS
That produces a lot of text, that I've put in a file, but that I haven't shared because of the length - but could do.
Looking through it there are lots of sections that have the phrase
"The shared library was not found." not a plugin
Keys were obtained from them, they have file paths and have loaded meta data, so I'm assuming they are OK (These are for things like graphics file formats, Wayland)
This is the one for the "networkmanager":
Got keys from plugin meta data ("networkmanager") QFactoryLoader::QFactoryLoader() looking at "/home/mike/Qt/5.15.2/gcc_64/plugins/bearer/libqnmbearer.so.debug" "The shared library was not found." not a plugin QFactoryLoader::QFactoryLoader() checking directory path "/home/mike/Code_Builds/google_test/debug/bearer" ... loaded library "/home/mike/Qt/5.15.2/gcc_64/plugins/bearer/libqconnmanbearer.so" loaded library "/home/mike/Qt/5.15.2/gcc_64/plugins/bearer/libqgenericbearer.so" loaded library "/home/mike/Qt/5.15.2/gcc_64/plugins/bearer/libqnmbearer.so" loaded library "crypto" loaded library "ssl" QFactoryLoader::QFactoryLoader() checking directory path "/home/mike/Qt/5.15.2/gcc_64/plugins/xcbglintegrations" ... QFactoryLoader::QFactoryLoader() looking at "/home/mike/Qt/5.15.2/gcc_64/plugins/xcbglintegrations/libqxcb-egl-integration.so" Found metadata in lib /home/mike/Qt/5.15.2/gcc_64/plugins/xcbglintegrations/libqxcb-egl-integration.so, metadata= { "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5", "MetaData": { "Keys": [ "xcb_egl" ] }, "archreq": 0, "className": "QXcbEglIntegrationPlugin", "debug": false, "version": 331520 }
At the end of the file there is a section, that appears to be tidying things up at the end (the output is generated after the dialogue is closed), it includes a lot more "unload succeeded", but I included these because the "(faked)" was different and the bottom two are likely to be involved. I guess this may be because they are kept loaded by the OS.
This is the whole list of what is unloaded, so I guess it will give a clue as to what is loaded.
QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/bearer/libqconnmanbearer.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/bearer/libqgenericbearer.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/bearer/libqnmbearer.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/xcbglintegrations/libqxcb-glx-integration.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqgif.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqicns.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqico.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqjpeg.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqsvg.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqtga.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqtiff.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqwbmp.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/imageformats/libqwebp.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QLibraryPrivate::unload succeeded on "/home/mike/Qt/5.15.2/gcc_64/plugins/platforms/libqxcb.so" QLibraryPrivate::unload succeeded on "Xcursor" (faked) QLibraryPrivate::unload succeeded on "crypto" (faked) QLibraryPrivate::unload succeeded on "ssl" (faked)
I assumed that Kubuntu, being Ubuntu based and one of the most used KDE distros would have had Qt enable.
Thank you for your help with this, would you like me to include the whole file or is there something I should be looking for.
-
@mikeosoft said in redditclient - missing Platform Plugin?:
I assumed that Kubuntu, being Ubuntu based and one of the most used KDE distros would have had Qt enable.
It has, you just have to install the corresponding development packages and use that to build your application.
Are your running a release version of your application ?
-
For those in the future stumbling across this by searching for the error:
$ speedcrunch kf.windowsystem: Could not find any platform plugin
I managed to solve this on Manjaro Linux by installing the
kwayland-integration
package. Other distros can probably install the appropriate package, built from this git repo.Other Wayland-related packages & env vars that I needed:
- Packages:
qt5-wayland
,qt6-wayland
kwayland5
kvantum-qt5
qt5ct
- Environment Variables:
- QT Wayland:
QT_QPA_PLATFORM="wayland"
QT_QPA_PLATFORMTHEME=qt5ct
QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
- Sway / XDG Base Specification:
XDG_CONFIG_HOME=${HOME}/.config
WAYLAND_DISPLAY=wayland-1
XDG_SESSION_TYPE=wayland
XDG_CURRENT_DESKTOP=sway
XDG_RUNTIME_DIR=/run/user/1000
XDG_DATA_DIRS=${HOME}/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/
- QT Wayland:
- Packages: