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

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""



  • Trying to compile a QtWidgets application in docker, statically, using Qt 5.15.0.

    My application:

    ./helloworld
    qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
    

    In my docker container I seem to be missing libQt5XcbQpa.a

    I configure Qt5 like this:

    ./configure --prefix=/usr -platform linux-g++-64 -opensource -confirm-license -release -static -no-avx \
        -opengl desktop -qpa xcb -system-freetype -fontconfig -glib \
        -no-dbus -no-openssl -no-sql-sqlite -no-use-gold-linker \
        -qt-harfbuzz -qt-libjpeg -qt-libpng -qt-pcre -qt-zlib \
        -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d \
        -skip qtdoc -skip qtquickcontrols -skip qtquickcontrols2 -skip qtspeech  -skip qtgamepad \
        -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtpurchasing -optimize-size \
        -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qttools \
        -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebview \
        -skip qtwinextras -skip qtx11extras -skip gamepad -skip serialbus -skip location -skip webengine \
        -skip qtdeclarative -skip qtmultimedia  \
        -no-feature-cups -no-feature-ftp -no-feature-pdf -no-feature-animation \
        -nomake examples -nomake tests -nomake tools
    

    Result:

    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. no
      xkbcommon .............................. yes
      X11 specific:
        XLib ................................. no
        XCB Xlib ............................. no
        EGL on X11 ........................... no
        xkbcommon-x11 ........................ no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. yes
      EGLFS details:
        EGLFS OpenWFD ........................ no
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS RCAR ........................... no
        EGLFS EGLDevice ...................... no
        EGLFS GBM ............................ no
        EGLFS VSP2 ........................... no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... no
        EGLFS X11 ............................ no
      LinuxFB ................................ yes
      VNC .................................... yes
    

    question 1: Does this look OK?

    question 2: How do I get libQt5XcbQpa ? Assuming that this produces my application's error.

    CMake also notices Qt5XcbQpa is absent:

    find_library(Qt5XcbQpa_LIBRARY Qt5XcbQpa PATHS REQUIRED)
    

    CMake Error:

    CMake Error at CMakeLists.txt:74 (find_library):
      Could not find Qt5XcbQpa_LIBRARY using the following names: Qt5XcbQpa
    


  • This post is deleted!




  • When I try to compile my application I now get:

    /usr/local/lib/libxcb-image.a(xcb_image.o): In function `xcb_create_pixmap_from_bitmap_data':
    xcb_image.c:(.text+0x1c69): undefined reference to `xcb_aux_create_gc'
    collect2: error: ld returned 1 exit status
    CMakeFiles/hello2.dir/build.make:310: recipe for target 'hello2' failed
    make[2]: *** [hello2] Error 1
    CMakeFiles/Makefile2:94: recipe for target 'CMakeFiles/hello2.dir/all' failed
    make[1]: *** [CMakeFiles/hello2.dir/all] Error 2
    Makefile:102: recipe for target 'all' failed
    

    I've made an issue here: https://bugreports.qt.io/browse/QTBUG-86287

    TL;DR: If you get "Could not find the Qt platform plugin "xcb"" then make sure that you have libQt5XcbQpa.a or libQt5XcbQpa.so, if that's not the case, you should compile the required xcb libraries and recompile Qt.


Log in to reply