[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
-
@SGaist Thanks for reply. I've replaced -xcb with -no-xcb, but it still contains xcb and x11 after configure.
-
Did you do it from a clean tree ? e.g. after make confclean ?
-
@SGaist Yes, everytime I try these operations based on a clean start. I delete all old directories and uncompress the clean codes
-
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 -
@SGaist Thant does not work. Is it a QT bug?
-
How did you apply my suggestion ?
-
@SGaist everything is OK now after executing make install. I didn't execute it before, thus I think that's the reason.
Thank you very much! -
Then indeed, you were testing the libraries from your old build ;)
Happy coding !