[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 examples

    root@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)

  • Lifetime Qt Champion


    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.

  • Lifetime Qt Champion

    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.

  • Lifetime Qt Champion

    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?

  • Lifetime Qt Champion

    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!

  • Lifetime Qt Champion

    Then indeed, you were testing the libraries from your old build ;)

    Happy coding !

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.