Built Qt6 from sources, problem with xcb plugin
-
@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.