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