Cannot find XCB location



  • I have cross compiled and deployed Qt 5.11.1 to Raspberry PI 3 using this tutorial: https://wiki.qt.io/RaspberryPi2EGLFS

    So far everything worked, until I got stuck at point 15:

    [on RPi] Run example, that we've built before. At this point it should just work at fullscreen with 60 FPS and mouse, keyboard, and possibly touch support.
    

    My problem is the following:

    pi@raspberrypi:~ $ ./qopenglwidget 
    This application failed to start because it could not find or load the Qt platform plugin "xcb"
    in "".
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
    
    Reinstalling the application may fix this problem.
    Przerwane
    

    It seems like Rpi doesnt have proper XCB directory. On the other hand it lists available plugins, so the path should be fine?

    ldd returns the following:

    pi@raspberrypi:~ $ ldd qopenglwidget 
        linux-vdso.so.1 (0x7ec7f000)
        /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f58000)
        libQt5Widgets.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 (0x769f2000)
        libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0x765cc000)
        libQt5Core.so.5 => /usr/local/qt5pi/lib/libQt5Core.so.5 (0x7608e000)
        libbrcmGLESv2.so => /opt/vc/lib/libbrcmGLESv2.so (0x76069000)
        libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76040000)
        libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x75ef8000)
        libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x75e79000)
        libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x75e4c000)
        libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x75d0d000)
        /lib/ld-linux-armhf.so.3 (0x76f6e000)
        libharfbuzz.so.0 => /usr/lib/arm-linux-gnueabihf/libharfbuzz.so.0 (0x75c76000)
        libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x75c4f000)
        libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0x75c15000)
        libdouble-conversion.so.1 => /usr/lib/arm-linux-gnueabihf/libdouble-conversion.so.1 (0x75bf3000)
        libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75be0000)
        libbrcmEGL.so => /opt/vc/lib/libbrcmEGL.so (0x75ba7000)
        libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x75b80000)
        libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x75b6a000)
        libvcos.so => /opt/vc/lib/libvcos.so (0x75b50000)
        librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x75b39000)
        libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x75a31000)
        libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x75996000)
        libgraphite2.so.3 => /usr/lib/arm-linux-gnueabihf/libgraphite2.so.3 (0x75963000)
        libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x758ea000)
    

    It looks ok to me.

    I would appreciate all help regarding this problem.


  • Lifetime Qt Champion

    Hi,

    Did you check that you have deployed all the required plugins and their dependencies ?

    You should run ldd on your plugin to see if you are missing something.

    You can also set the `QT_DEBUG_PLUGINS" environment variable to 1 in order to have a more detailed outlook at what is happening.



  • @SGaist thanks for answer. I have set the variable and this is the result:

    pi@raspberrypi:~ $ echo $QT_DEBUG_PLUGINS
    1
    pi@raspberrypi:~ $ 
    pi@raspberrypi:~ $ 
    pi@raspberrypi:~ $ 
    pi@raspberrypi:~ $ ./qopenglwidget 
    QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5pi/plugins/platforms" ...
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqeglfs.so"
    Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqeglfs.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "eglfs"
            ]
        },
        "className": "QEglFSIntegrationPlugin",
        "debug": false,
        "version": 330241
    }
    
    
    Got keys from plugin meta data ("eglfs")
    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": 330241
    }
    
    
    Got keys from plugin meta data ("linuxfb")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqminimal.so"
    Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqminimal.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "minimal"
            ]
        },
        "className": "QMinimalIntegrationPlugin",
        "debug": false,
        "version": 330241
    }
    
    
    Got keys from plugin meta data ("minimal")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqminimalegl.so"
    Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqminimalegl.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "minimalegl"
            ]
        },
        "className": "QMinimalEglIntegrationPlugin",
        "debug": false,
        "version": 330241
    }
    
    
    Got keys from plugin meta data ("minimalegl")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqoffscreen.so"
    Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqoffscreen.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "offscreen"
            ]
        },
        "className": "QOffscreenIntegrationPlugin",
        "debug": false,
        "version": 330241
    }
    
    
    Got keys from plugin meta data ("offscreen")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqvnc.so"
    Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqvnc.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "vnc"
            ]
        },
        "className": "QVncIntegrationPlugin",
        "debug": false,
        "version": 330241
    }
    
    
    Got keys from plugin meta data ("vnc")
    QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5pi/plugins/platforms/libqxcb.so"
    Found metadata in lib /usr/local/qt5pi/plugins/platforms/libqxcb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "xcb"
            ]
        },
        "className": "QXcbIntegrationPlugin",
        "debug": false,
        "version": 330241
    }
    
    
    Got keys from plugin meta data ("xcb")
    QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/platforms" ...
    Cannot load library /usr/local/qt5pi/plugins/platforms/libqxcb.so: (/usr/local/qt5pi/plugins/platforms/../../lib/libQt5XcbQpa.so.5: symbol _ZTI18QPlatformClipboard, version Qt_5_PRIVATE_API not defined in file libQt5Gui.so.5 with link time reference)
    QLibraryPrivate::loadPlugin failed on "/usr/local/qt5pi/plugins/platforms/libqxcb.so" : "Cannot load library /usr/local/qt5pi/plugins/platforms/libqxcb.so: (/usr/local/qt5pi/plugins/platforms/../../lib/libQt5XcbQpa.so.5: symbol _ZTI18QPlatformClipboard, version Qt_5_PRIVATE_API not defined in file libQt5Gui.so.5 with link time reference)"
    This application failed to start because it could not find or load the Qt platform plugin "xcb"
    in "".
    
    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
    
    Reinstalling the application may fix this problem.
    Przerwane
    

    And here is the ldd on the lib:

    pi@raspberrypi:/usr/local/qt5pi/plugins/platforms $ ldd libqxcb.so 
    	linux-vdso.so.1 (0x7ef21000)
    	/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76ed9000)
    	libQt5XcbQpa.so.5 => /usr/local/qt5pi/plugins/platforms/./../../lib/libQt5XcbQpa.so.5 (0x76d49000)
    	libQt5DBus.so.5 => /usr/local/qt5pi/plugins/platforms/./../../lib/libQt5DBus.so.5 (0x76cc5000)
    	libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x76c84000)
    	libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0x76c4a000)
    	libQt5Gui.so.5 => /usr/local/qt5pi/plugins/platforms/./../../lib/libQt5Gui.so.5 (0x76782000)
    	libQt5Core.so.5 => /usr/local/qt5pi/plugins/platforms/./../../lib/libQt5Core.so.5 (0x76244000)
    	libbrcmGLESv2.so => /opt/vc/lib/libbrcmGLESv2.so (0x7621f000)
    	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x761f6000)
    	libX11.so.6 => /usr/lib/arm-linux-gnueabihf/libX11.so.6 (0x760d3000)
    	libX11-xcb.so.1 => /usr/lib/arm-linux-gnueabihf/libX11-xcb.so.1 (0x760c1000)
    	libXi.so.6 => /usr/lib/arm-linux-gnueabihf/libXi.so.6 (0x760a1000)
    	libxcb-xkb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb-xkb.so.1 (0x7607c000)
    	libxcb-render-util.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-render-util.so.0 (0x76071000)
    	libxcb-render.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-render.so.0 (0x76056000)
    	libxcb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb.so.1 (0x76027000)
    	libxcb-shm.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-shm.so.0 (0x76014000)
    	libxcb-sync.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb-sync.so.1 (0x75ffe000)
    	libxcb-xfixes.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-xfixes.so.0 (0x75fe7000)
    	libxcb-xinerama.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-xinerama.so.0 (0x75fd4000)
    	libxcb-randr.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-randr.so.0 (0x75fb7000)
    	libxcb-image.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-image.so.0 (0x75fa3000)
    	libxcb-keysyms.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb-keysyms.so.1 (0x75f8e000)
    	libxcb-icccm.so.4 => /usr/lib/arm-linux-gnueabihf/libxcb-icccm.so.4 (0x75f82000)
    	libxcb-shape.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-shape.so.0 (0x75f6f000)
    	libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75f5c000)
    	libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x75e14000)
    	libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x75d95000)
    	libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x75d68000)
    	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x75c29000)
    	/lib/ld-linux-armhf.so.3 (0x76eef000)
    	libdouble-conversion.so.1 => /usr/lib/arm-linux-gnueabihf/libdouble-conversion.so.1 (0x75c07000)
    	libbrcmEGL.so => /opt/vc/lib/libbrcmEGL.so (0x75bce000)
    	libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x75ba5000)
    	libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x75b8f000)
    	libvcos.so => /opt/vc/lib/libvcos.so (0x75b75000)
    	librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x75b5e000)
    	libXext.so.6 => /usr/lib/arm-linux-gnueabihf/libXext.so.6 (0x75b3f000)
    	libXau.so.6 => /usr/lib/arm-linux-gnueabihf/libXau.so.6 (0x75b34000)
    	libXdmcp.so.6 => /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6 (0x75b1f000)
    	libxcb-util.so.0 => /usr/lib/arm-linux-gnueabihf/libxcb-util.so.0 (0x75b0a000)
    	libbsd.so.0 => /lib/arm-linux-gnueabihf/libbsd.so.0 (0x75ae1000)
    

    I think nothing is missing. What do you think?



  • Hello,
    I just found the answer by applying this: https://stackoverflow.com/questions/33189348/compiling-qt-base-error-libqt5core-so-5-no-version-information-available#33209037

    The application now opens with eglfs but not with xcb.


  • Lifetime Qt Champion

    @Bremenpl said in Cannot find XCB location:

    symbol _ZTI18QPlatformClipboard, version Qt_5_PRIVATE_API not defined in file libQt5Gui.so.5 with link time reference)

    Are you sure you deployed the correct version of the libraries on your board ?



  • @SGaist Well I followed the guide, I dont think it allows me to deploy a bad vesrsion. I pulled the 5.10 qt version, switched to tag 5.10.1 and branched to 5.10.1. But now I am cleaning this and going for 5.11.1 like before (I went back from 5.11.1 to 5.10.1 because I thought this could be the problem).


Log in to reply
 

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