Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

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.


  • Lifetime Qt Champion

    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.


  • Lifetime Qt Champion

    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.


  • Lifetime Qt Champion

    @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 ?



  • I get the same error whether I run the Debug or the Release version of the application.

    I googled and found this page to check that I have everything installed that I should and everything was at the latest version.


Log in to reply