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