Built Qt6 from sources, problem with xcb plugin
-
Hi Friends, There is another topic about this but it is old and does not provide a solution, so I ask here for some help:
I have compiled Qt6 on Linux Mint 19, but the QPA plugin for xcb is not generated, so my App does not run.
This is my configure summary:
Configure summary: Building for: linux-clang (x86_64, CPU features: mmx sse sse2) Compiler: clang 11.0.1 Build options: Mode ................................... debug Fully optimize release builds (-O3) .... no Building shared libraries .............. yes Using C standard ....................... C11 Using C++ standard ..................... C++17 Using ccache ........................... no enable_new_dtags ....................... no Relocatable ............................ yes Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX .................................. AVX AVX2 AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI Other x86 ............................ F16C RDRAND Intrinsics without -mXXX option ...... yes Sanitizers: Addresses ............................ no Threads .............................. no Memory ............................... no Fuzzer (instrumentation only) ........ no Undefined ............................ no Build parts ............................ libs tools Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... yes Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes udev ................................... yes Using system zlib ...................... yes Zstandard support ...................... no Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ no GLib ................................... yes ICU .................................... yes Using system libb2 ..................... no Built-in copy of the MIME database ..... yes Tracing backend ........................ <none> Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no PCRE2 .................................. yes Using system PCRE2 ................... no CLONE_PIDFD support in forkfd .......... yes Qt Sql: SQL item models ........................ yes Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ yes DTLS ................................... yes OCSP-stapling .......................... yes SCTP ................................... no Use system proxies ..................... yes GSSAPI ................................. no Brotli Decompression Support ........... no Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... yes Using system HarfBuzz ................ no Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. yes Using system libjpeg ............... no PNG .................................. yes Using system libpng ................ yes Text formats: HtmlParser ........................... yes CssParser ............................ yes OdfWriter ............................ yes MarkdownReader ....................... yes Using system libmd4c ............... no MarkdownWriter ....................... yes EGL .................................... yes OpenVG ................................. no OpenGL: Desktop OpenGL ....................... yes OpenGL ES 2.0 ........................ no OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... no INTEGRITY HID .......................... no mtdev .................................. no tslib .................................. no xkbcommon .............................. yes X11 specific: XLib ................................. yes XCB Xlib ............................. no EGL on X11 ........................... yes 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 ...................... yes EGLFS GBM ............................ no EGLFS VSP2 ........................... no EGLFS Mali ........................... no EGLFS Raspberry Pi ................... no EGLFS X11 ............................ no LinuxFB ................................ yes VNC .................................... yes QNX: lgmon ................................ no IMF .................................. no XCB: Using system-provided xcb-xinput ..... no Native painting (experimental) ....... no GL integrations: GLX Plugin ......................... no XCB GLX .......................... no EGL-X11 Plugin ..................... no Windows: Direct 2D ............................ no Direct 2D 1.1 ........................ no DirectWrite .......................... no DirectWrite 3 ........................ no Qt Widgets: GTK+ ................................... yes Styles ................................. Fusion Windows Qt Testlib: Tester for item models ................. yes Qt PrintSupport: CUPS ................................... no Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. yes SQLite ................................. yes Using system provided SQLite ......... no Qt 5 Compatibility Libraries: iconv .................................. no Qt QML: QML network support .................... yes QML debugging and profiling support .... yes QML just-in-time compiler .............. yes QML sequence object .................... yes QML XML http request ................... yes QML Locale ............................. yes Qt QML Models: QML list model ......................... yes QML delegate model ..................... yes Qt Quick: AnimatedImage item ..................... yes Canvas item ............................ yes Support for Qt Quick Designer .......... yes Flipable item .......................... yes GridView item .......................... yes ListView item .......................... yes TableView item ......................... yes Path support ........................... yes PathView item .......................... yes Positioner items ....................... yes Repeater item .......................... yes ShaderEffect item ...................... yes Sprite item ............................ yes Qt Tools: Qt Assistant ........................... yes QDoc ................................... no Clang-based lupdate parser ............. no Qt Designer ............................ yes Qt Distance Field Generator ............ yes kmap2qmap .............................. yes Qt Linguist ............................ yes Mac Deployment Tool .................... no pixeltool .............................. yes qdbus .................................. yes qev .................................... yes Qt Attributions Scanner ................ yes qtdiag ................................. yes qtpaths ................................ yes qtplugininfo ........................... yes Windows deployment tool ................ no Qt Quick Templates 2: Hover support .......................... yes Multi-touch support .................... yes Qt Quick Controls 2: Styles ................................. Basic Fusion Imagine Material Universal macOS Windows QtQuick3D: Assimp ................................. yes System Assimp .......................... no
All libxcb*-dev libcxb* packages are installed an detected by configure script, but it appears to be not recognized in the summary.
Thanks in adavance for any help.
-
Hi,
You should check the test logs to see exactly what failed. You are likely missing a dependency related to xcb like xkbcommon.
-
@SGaist said in Built Qt6 from sources, problem with xcb plugin:
xkbcommon
This is my list of installed deps:
➜ ~ dpkg -la | grep xcb ii libx11-xcb-dev:amd64 2:1.6.4-3ubuntu0.3 amd64 Xlib/XCB interface library (development headers) ii libx11-xcb1:amd64 2:1.6.4-3ubuntu0.3 amd64 Xlib/XCB interface library ii libxcb-composite0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, composite extension ii libxcb-composite0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, composite extension, development files ii libxcb-cursor-dev:amd64 0.1.1-4ubuntu1 amd64 utility libraries for X C Binding -- cursor, development files ii libxcb-cursor0:amd64 0.1.1-4ubuntu1 amd64 utility libraries for X C Binding -- cursor ii libxcb-damage0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, damage extension ii libxcb-damage0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, damage extension, development files ii libxcb-dpms0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, dpms extension ii libxcb-dpms0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, dpms extension, development files ii libxcb-dri2-0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, dri2 extension ii libxcb-dri2-0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, dri2 extension, development files ii libxcb-dri3-0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, dri3 extension ii libxcb-dri3-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, dri3 extension, development files ii libxcb-ewmh-dev:amd64 0.4.1-1ubuntu1 amd64 utility libraries for X C Binding -- ewmh, development files ii libxcb-ewmh2:amd64 0.4.1-1ubuntu1 amd64 utility libraries for X C Binding -- ewmh ii libxcb-glx0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, glx extension ii libxcb-glx0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, glx extension, development files ii libxcb-icccm4:amd64 0.4.1-1ubuntu1 amd64 utility libraries for X C Binding -- icccm ii libxcb-icccm4-dev:amd64 0.4.1-1ubuntu1 amd64 utility libraries for X C Binding -- icccm, development files ii libxcb-image0:amd64 0.4.0-1build1 amd64 utility libraries for X C Binding -- image ii libxcb-image0-dev:amd64 0.4.0-1build1 amd64 utility libraries for X C Binding -- image, development files ii libxcb-keysyms1:amd64 0.4.0-1 amd64 utility libraries for X C Binding -- keysyms ii libxcb-keysyms1-dev:amd64 0.4.0-1 amd64 utility libraries for X C Binding -- keysyms, development files ii libxcb-present-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, present extension, development files ii libxcb-present0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, present extension ii libxcb-randr0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, randr extension ii libxcb-randr0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, randr extension, development files ii libxcb-record0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, record extension ii libxcb-record0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, record extension, development files ii libxcb-render-util0:amd64 0.3.9-1 amd64 utility libraries for X C Binding -- render-util ii libxcb-render-util0-dev:amd64 0.3.9-1 amd64 utility libraries for X C Binding -- render-util ii libxcb-render0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, render extension ii libxcb-render0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, render extension, development files ii libxcb-res0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, res extension ii libxcb-res0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, res extension, development files ii libxcb-screensaver0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, screensaver extension ii libxcb-screensaver0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, screensaver extension, development files ii libxcb-shape0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, shape extension ii libxcb-shape0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, shape extension, development files ii libxcb-shm0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, shm extension ii libxcb-shm0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, shm extension, development files ii libxcb-sync-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, sync extension, development files ii libxcb-sync1:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, sync extension ii libxcb-util-dev:amd64 0.4.0-0ubuntu3 amd64 utility libraries for X C Binding -- atom, aux and event ii libxcb-util0-dev:amd64 0.4.0-0ubuntu3 amd64 dummy transitional package for utility libraries for X C Binding -- atom, aux and event ii libxcb-util1:amd64 0.4.0-0ubuntu3 amd64 utility libraries for X C Binding -- atom, aux and event ii libxcb-xf86dri0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xf86dri extension ii libxcb-xf86dri0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xf86dri extension, development files ii libxcb-xfixes0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xfixes extension ii libxcb-xfixes0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xfixes extension, development files ii libxcb-xinerama0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xinerama extension ii libxcb-xinerama0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xinerama extension, development files ii libxcb-xinput-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xinput extension, development files ii libxcb-xinput0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xinput extension ii libxcb-xkb-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, XKEYBOARD extension, development files ii libxcb-xkb1:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, XKEYBOARD extension ii libxcb-xrm-dev:amd64 1.0-3 amd64 utility functions for the X resource manager, development files ii libxcb-xrm0:amd64 1.0-3 amd64 utility functions for the X resource manager ii libxcb-xtest0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xtest extension ii libxcb-xtest0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xtest extension, development files ii libxcb-xv0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xv extension ii libxcb-xv0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xv extension, development files ii libxcb-xvmc0:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xvmc extension ii libxcb-xvmc0-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, xvmc extension, development files ii libxcb1:amd64 1.13-2~ubuntu18.04 amd64 X C Binding ii libxcb1-dev:amd64 1.13-2~ubuntu18.04 amd64 X C Binding, development files ➜ ~ dpkg -la | grep xkbcommon ii libxkbcommon-dev:amd64 0.8.2-1~ubuntu18.04.1 amd64 library interface to the XKB compiler - development files ii libxkbcommon-x11-0:amd64 0.8.2-1~ubuntu18.04.1 amd64 library to create keymaps with the XKB X11 protocol ii libxkbcommon-x11-dev:amd64 0.8.2-1~ubuntu18.04.1 amd64 library to create keymaps with the XKB X11 protocol - development files ii libxkbcommon0:amd64 0.8.2-1~ubuntu18.04.1 amd64 library interface to the XKB compiler - shared library
And in the output of configure, all is found:
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-render.so;/usr/lib/x86_64-linux-gnu/libxcb-shape.so;/usr/lib/x86_64-linux-gnu/libxcb-xfixes.so;/usr/lib/x86_64-linux-gnu/libxcb-shm.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-composite.so;/usr/lib/x86_64-linux-gnu/libxcb-cursor.so;/usr/lib/x86_64-linux-gnu/libxcb-damage.so;/usr/lib/x86_64-linux-gnu/libxcb-dpms.so;/usr/lib/x86_64-linux-gnu/libxcb-dri2.so;/usr/lib/x86_64-linux-gnu/libxcb-dri3.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-glx.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so;/usr/lib/x86_64-linux-gnu/libxcb-keysyms.so;/usr/lib/x86_64-linux-gnu/libxcb-present.so;/usr/lib/x86_64-linux-gnu/libxcb-randr.so;/usr/lib/x86_64-linux-gnu/libxcb-record.so;/usr/lib/x86_64-linux-gnu/libxcb-render-util.so;/usr/lib/x86_64-linux-gnu/libxcb-res.so;/usr/lib/x86_64-linux-gnu/libxcb-screensaver.so;/usr/lib/x86_64-linux-gnu/libxcb-sync.so;/usr/lib/x86_64-linux-gnu/libxcb-xf86dri.so;/usr/lib/x86_64-linux-gnu/libxcb-xinerama.so;/usr/lib/x86_64-linux-gnu/libxcb-xkb.so;/usr/lib/x86_64-linux-gnu/libxcb-xtest.so;/usr/lib/x86_64-linux-gnu/libxcb-xv.so;/usr/lib/x86_64-linux-gnu/libxcb-xvmc.so;/usr/lib/x86_64-linux-gnu/libxcb-xinput.so (found suitable version "1.13", minimum required is "1.12") found components: XINPUT -- Checking for module 'xkbcommon-x11>=0.4.1' -- Found xkbcommon-x11, version 0.8.2 -- Running syncqt for module: 'QtOpenGL' -- Running syncqt for module: 'QtWidgets' -- Checking for module 'gtk+-3.0 >= 3.6' -- Found gtk+-3.0 , version 3.22.30 -- Running syncqt for module: 'QtOpenGLWidgets' -- Running syncqt for module: 'QtDeviceDiscoverySupport' -- Running syncqt for module: 'QtFbSupport' -- Could NOT find Libinput (missing: Libinput_LIBRARY Libinput_INCLUDE_DIR) -- Found XKB: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found version "0.8.2") ... -- Found XKB: /usr/lib/x86_64-linux-gnu/libxkbcommon.so (found suitable version "0.8.2", minimum required is "0.5.0") ...
I don't know what is blocking it.
-
Then as I suggested: read the configuration test log files.
-
Don't you have some CMakeError.log files around ?
-
The compilation has no errors, the problem is that platform plugin for xcb is not generated.
➜ build ls -al total 37248 drwxr-xr-x 17 mnesarco mnesarco 4096 Dec 2 14:26 . drwxrwxr-x 5 mnesarco mnesarco 4096 Dec 2 11:50 .. -rw-r--r-- 1 mnesarco mnesarco 18076483 Dec 2 14:26 build.ninja -rw-r--r-- 1 mnesarco mnesarco 320652 Dec 2 14:26 CMakeCache.txt drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 CMakeFiles -rw-r--r-- 1 mnesarco mnesarco 4430 Dec 2 13:19 cmake_install.cmake -rw-r--r-- 1 mnesarco mnesarco 129 Dec 2 14:26 config.opt drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 11:55 config.tests -rw-r--r-- 1 mnesarco mnesarco 633 Dec 2 12:56 CTestTestfile.cmake -rw-r--r-- 1 mnesarco mnesarco 977889 Dec 2 12:25 install_manifest.txt -rw-r--r-- 1 mnesarco mnesarco 17585308 Dec 2 14:35 .ninja_deps -rw-r--r-- 1 mnesarco mnesarco 1082507 Dec 2 14:35 .ninja_log drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 qt5compat drwxr-xr-x 14 mnesarco mnesarco 4096 Dec 2 14:26 qtbase drwxr-xr-x 5 mnesarco mnesarco 4096 Dec 2 14:26 qtdeclarative drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 qtdoc drwxr-xr-x 3 mnesarco mnesarco 4096 Dec 2 14:26 qtqa drwxr-xr-x 5 mnesarco mnesarco 4096 Dec 2 14:26 qtquick3d drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 qtquickcontrols2 drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 qtquicktimeline drwxr-xr-x 5 mnesarco mnesarco 4096 Dec 2 14:26 qtshadertools drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 qtsvg drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 qttools drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 14:26 qttranslations drwxr-xr-x 4 mnesarco mnesarco 4096 Dec 2 12:00 qtwaylan
-
@mnesarco said in Built Qt6 from sources, problem with xcb plugin:
XCB Xlib ............................. no
Apart from what you're saying but it looks like some of the required xcb stuff is not found.
-
@Christian-Ehrlicher It is obvious, some xcb stuff is not found, the question is what. Because ./configure reports a lot of crap like this:
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-lin...
-
According to the config file XCB xlib needs:
"xcb_xlib": { "label": "XCB Xlib", "test": { "main": "(void) XGetXCBConnection((Display *)0);" }, "headers": "X11/Xlib-xcb.h", "sources": [ { "type": "pkgConfig", "args": "x11-xcb" }, "-lX11-xcb" ], "use": "xcb xlib"
-
Try to search for some output of those values inside CMakeFiles subdir and try to compile this
#include <X11/Xlib-xcb.h> int main(int, char**) { (void) XGetXCBConnection((Display *)0); return 0; }
g++ main.cpp -lX11-xcb
-
@Christian-Ehrlicher said in Built Qt6 from sources, problem with xcb plugin:
#include <X11/Xlib-xcb.h>
int main(int, char**)
{
(void) XGetXCBConnection((Display *)0);
return 0;
}➜ test99 vi test.cpp ➜ test99 c++ test.cpp -lX11-xcb ➜ test99 ./a.out [1] 12914 segmentation fault (core dumped) ./a.out ➜ test99 It compiles, but segfault on run.
-
Doesn't matter that it does not execute - cmake only checks if it compiles and links. Sorry you have to dig though the CMakeFiles directory.
-
Apparently it was some kind of cache problem. Because I deleted the build folder, opened a new terminal a build from scratch and:
Features used by QPA backends: evdev .................................. yes libinput ............................... yes INTEGRITY HID .......................... no mtdev .................................. yes tslib .................................. no xkbcommon .............................. yes X11 specific: XLib ................................. yes XCB Xlib ............................. yes EGL on X11 ........................... yes xkbcommon-x11 ........................ yes 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 ...................... yes EGLFS GBM ............................ no EGLFS VSP2 ........................... no EGLFS Mali ........................... no EGLFS Raspberry Pi ................... no EGLFS X11 ............................ yes LinuxFB ................................ yes VNC .................................... yes QNX: lgmon ................................ no IMF .................................. no XCB: Using system-provided xcb-xinput ..... yes Native painting (experimental) ....... no GL integrations: GLX Plugin ......................... yes XCB GLX .......................... yes EGL-X11 Plugin ..................... yes Windows: Direct 2D ............................ no Direct 2D 1.1 ........................ no DirectWrite .......................... no DirectWrite 3 ........................ no
It is building, so I will report if succeed.
-
As the configure scripts prints at the end: if you re-run configure, you have to clean first. Otherwise you may have leftovers from your previous configure/build attempt that will make it so that not all tests are rerun.
-
@mnesarco I think it's worth mentioning (on an old thread) that in my case the (erroneously) missing dependencies included XCB GLX and xcb-sm (maybe others). It's important to pay careful attention to the output from
./configure
and compare.