Qt 5.15.2 do not build libqxcb.so, BUT at the same time Qt 5.14.0 successfully build libqxcb.so
-
Platform Ubuntu 18.04
I built Qt 5.15.2 library but I can't use it because libxcb.so wich is should be at "qtbase/plugins/platforms/".
When I start my application it filed:"qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: linuxfb, minimal, offscreen, vnc, webgl."
Of course:
I read this article: https://doc.qt.io/qt-5/linux-requirements.html
And installed all necessary libraries (even more):sudo apt install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt-get install libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev
sudo apt install libfreetype6-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxkbcommon-x11-dev
My Qt configuration:
./configure -prefix $PWD/qtbase -opensource -debug -skip qtwebengine -skip qtquickcontrols -skip qtconnectivity -skip qtwebglplugin -skip qtlocation -no-sql-odbc -no-sql-sqlite -no-icu -nomake examples -nomake tests -opengl desktop -platform linux-g++-64
In configuration output I see the following:
Checking for XCB >= 1.11... yes Checking for XCB ICCCM >= 0.3.9... yes Checking for XCB Util >= 0.3.9... no ... X11 specific: XLib ................................. no XCB Xlib ............................. no EGL on X11 ........................... no xkbcommon-x11 ........................ yes QPA backends: DirectFB ............................... no EGLFS .................................. no LinuxFB ................................ yes VNC .................................... yes
At the same time, when I build Qt 5.14.0 the libxcb.so build successfully.
The configuration output is following:
Checking for XCB ICCCM >= 0.3.9... yes Checking for XCB SHM... yes Checking for XCB Image >= 0.3.9... yes Checking for XCB Keysyms >= 0.3.9... yes Checking for XCB RandR... yes Checking for XCB XRender... yes Checking for XCB Renderutil >= 0.3.9... yes Checking for XCB Shape... yes Checking for XCB Sync... yes Checking for XCB Xfixes... yes Checking for XCB Xinerama... yes Checking for XCB (extensions)... yes ... XCB: Using system-provided XCB libraries .. yes XCB XKB .............................. yes XCB XInput ........................... no Native painting (experimental) ....... no GL integrations: GLX Plugin ......................... no EGL-X11 Plugin ..................... no
What changed? and
How to fix that? -
Hi,
Some in tree external libraries have been removed as all the officially supported distribution where providing the required library.
You should check the test logs to see exactly which X11 related tests failed.
-
@SGaist said in Qt 5.15.2 do not build libqxcb.so, BUT at the same time Qt 5.14.0 successfully build libqxcb.so:
Hi,
Some in tree external libraries have been removed as all the officially supported distribution where providing the required library.
You should check the test logs to see exactly which X11 related tests failed.Could you please point me to where I can find the test logs?
I just checked the sources and found that xcb is present in the source tree:
/qt-everywhere-src-5.15.2/qtbase/src/plugins/platforms/xcb/ -
@nen777w said in Qt 5.15.2 do not build libqxcb.so, BUT at the same time Qt 5.14.0 successfully build libqxcb.so:
It required for build Qt 5.15.x but not required for Qt 5.14.x
Correct as described here: https://doc.qt.io/qt-5/linux-requirements.html
Note: From Qt 5.15 onwards, Qt does require libxcb 1.11. Also, the -qt-xcb configure option got removed that was bundling some of the libs below. Anyhow, you can now configure with -bundled-xcb-xinput to avoid a dependency to system xcb-xinput.