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
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.