[Solved] How to configure QT5 so that Linucfb does not contain x11 and xcb?
-
The plugin Linuxfb includes x11 and xcb (detected by command ldd). is there any solution to exclude x11 and xcb? if yes, how to configure QT5?
My configure: (I don't know whether these parameters are correct)
-opensource -confirm-license -c++11 -shared -largefile -qml-debug -mtdev -optimized-qmake -gui -widgets
-no-icu -no-glib -no-cups -no-gtkstyle -no-journald
-qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz
-opengl -xcb -directfb -linuxfb
-nomake tests -nomake examplesroot@linuxdevelopos:/platforms# **ldd ./libqlinuxfb.so **
linux-gate.so.1 => (0xb770f000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb7673000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb75d3000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb74c6000)
libudev.so.1 => /lib/i386-linux-gnu/libudev.so.1 (0xb74b3000)
libQt5Gui.so.5 => /usr/lib/i386-linux-gnu/libQt5Gui.so.5 (0xb705b000)
libQt5Core.so.5 => /usr/lib/i386-linux-gnu/libQt5Core.so.5 (0xb6bc5000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6ba9000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb6ac0000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6912000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb68e9000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb68cf000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb68a7000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb6868000)
libcgmanager.so.0 => /lib/i386-linux-gnu/libcgmanager.so.0 (0xb684a000)
libnih.so.1 => /lib/i386-linux-gnu/libnih.so.1 (0xb6831000)
libnih-dbus.so.1 => /lib/i386-linux-gnu/libnih-dbus.so.1 (0xb6827000)
libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xb67dc000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb67d2000)
/lib/ld-linux.so.2 (0xb7710000)
libharfbuzz.so.0 => /usr/lib/i386-linux-gnu/libharfbuzz.so.0 (0xb677c000)
libGL.so.1 => /usr/lib/i386-linux-gnu/mesa/libGL.so.1 (0xb671c000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb66d6000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb66b9000)
libicui18n.so.52 => /usr/lib/i386-linux-gnu/libicui18n.so.52 (0xb64ab000)
libicuuc.so.52 => /usr/lib/i386-linux-gnu/libicuuc.so.52 (0xb6339000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6334000)
libgraphite2.so.3 => /usr/lib/i386-linux-gnu/libgraphite2.so.3 (0xb6318000)
libglapi.so.0 => /usr/lib/i386-linux-gnu/libglapi.so.0 (0xb62ff000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb62ec000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb62e8000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb62e2000)
libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xb62df000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb61ab000)
libxcb-glx.so.0 => /usr/lib/i386-linux-gnu/libxcb-glx.so.0 (0xb6192000)
libxcb-dri2.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri2.so.0 (0xb618c000)
libxcb-dri3.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri3.so.0 (0xb6188000)
libxcb-present.so.0 => /usr/lib/i386-linux-gnu/libxcb-present.so.0 (0xb6184000)
libxcb-sync.so.1 => /usr/lib/i386-linux-gnu/libxcb-sync.so.1 (0xb617d000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb615a000)
libxshmfence.so.1 => /usr/lib/i386-linux-gnu/libxshmfence.so.1 (0xb6157000)
libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0xb6151000)
libdrm.so.2 => /usr/lib/i386-linux-gnu/libdrm.so.2 (0xb6143000)
libicudata.so.52 => /usr/lib/i386-linux-gnu/libicudata.so.52 (0xb4ad6000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb4ad1000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb4aca000) -
Hi,
Replace -xcb with -no-xcb
-
Did you do it from a clean tree ? e.g. after make confclean ?
-
The plugin libqlinuxfb.so is not supposed to contain cxb and x11, as it is based on framebuffer. I’ve compiled many times but ldd still detects that libqlinuxfb.so includes xcb and x11. The weird thing is that I also tired –no-xcb while executing configure, but that seems doesn’t work.
I’m using x86 embedded platform. -
I'm just realizing, ldd is finding your system Qt before the one you built, so the xcb related decencies come from your system QtGui library not from the one you built. Add
LD_LIBRARY_PATH=/path/to/your/selfbuiltqt/lib
before calling ldd -
I'm just realizing, ldd is finding your system Qt before the one you built, so the xcb related decencies come from your system QtGui library not from the one you built. Add
LD_LIBRARY_PATH=/path/to/your/selfbuiltqt/lib
before calling ldd -
How did you apply my suggestion ?
-
Then indeed, you were testing the libraries from your old build ;)
Happy coding !