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

Plugin errors, & can't set path with qt.conf.



  • Hi all,

    I'm building a Qt 5.7.0 application for the raspberry pi running Raspbian 4.9.59-v7+ #1047.

    As an integrated solution, I'm using QtRpi for the prebuilt Qt binaries and toolchain, and have it configured as a kit in Qt Creator.

    Everything builds fine, but I'm running into issues with deploying the app, specifically with the eglfs plugin. Running with QT_DEBUG_PLUGINS enables, I get the following relevant output:

    QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/platforms" ...
    loaded library "/usr/local/qt5pi/plugins/platforms/libqeglfs.so"
    QLibraryPrivate::loadPlugin failed on "/usr/local/qt5pi/plugins/platforms/libqeglfs.so" : "Cannot load library /usr/local/qt5pi/plugins/platforms/libqeglfs.so: (libts-0.0.so.0: cannot open shared object file: No such file or directory)"
    This application failed to start because it could not find or load the Qt platform plugin "eglfs"
    in "".
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.
    
    Reinstalling the application may fix this problem.
    Aborted
    

    It's just confusing, as it seems all of the other plugins loaded just fine, ex:

    QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqlinuxfb.so"
    Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqlinuxfb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "linuxfb"
            ]
        },
        "className": "QLinuxFbIntegrationPlugin",
        "debug": false,
        "version": 329472
    }
    
    
    Got keys from plugin meta data ("linuxfb")
    

    My guess is that it's because of the empty search path in the error message: could not find or load the Qt platform plugin "eglfs" in "", but I can't seem to set that empty search path/folder. I've tried with a qt.conf in the application's directory, as per this documentation, but that doesn't seem to affect anything. Here's what I have:

    [Paths]
    Prefix = /usr/local/qt5pi/
    

    Any thoughts/advice?
    Thank you sincerely for the help.

    And a quick edit, as it may be unclear, the file it's claiming it can't find does exist. See:

    pi@beta:~$ find /usr/local/qt5pi/plugins/platforms/
    /usr/local/qt5pi/plugins/platforms/
    /usr/local/qt5pi/plugins/platforms/libqeglfs.so
    /usr/local/qt5pi/plugins/platforms/libqminimal.so
    /usr/local/qt5pi/plugins/platforms/libqminimalegl.so
    /usr/local/qt5pi/plugins/platforms/libqxcb.so
    /usr/local/qt5pi/plugins/platforms/libqoffscreen.so
    /usr/local/qt5pi/plugins/platforms/libqlinuxfb.so
    

  • Moderators

    @teux said in Plugin errors, & can't set path with qt.conf.:

    (libts-0.0.so.0: cannot open shared object file: No such file or directory)

    you problem seems that the eglfs plugin doesn't load, because it can't find the dependency to libts?


Log in to reply