Nominate our 2022 Qt Champions!

How to restrict linking of X server libraries with an application compiled for framebuffer

  • I have build a Qt 5.9.1 kit for x86 in my host Ubuntu 16.04. My target system only have frame buffer and i am running it using libqlinuxfb plugin.

    ldd myapplication gives =>  (0xb776e000) => /opt/qt/qt5.9.1x86/lib/ (0xb705d000) => /opt/qt/qt5.9.1x86/lib/ (0xb6a17000) => /opt/qt/qt5.9.1x86/lib/ (0xb64b5000) => /usr/lib/i386-linux-gnu/ (0xb6324000) => /lib/i386-linux-gnu/ (0xb6307000) => /lib/i386-linux-gnu/ (0xb6151000) => /lib/i386-linux-gnu/ (0xb6134000) => /lib/i386-linux-gnu/ (0xb60de000) => /usr/lib/i386-linux-gnu/mesa/ (0xb606e000) => /lib/i386-linux-gnu/ (0xb6043000) => /lib/i386-linux-gnu/ (0xb6028000) => /usr/lib/i386-linux-gnu/ (0xb5db5000) => /usr/lib/i386-linux-gnu/ (0xb5c1e000) => /lib/i386-linux-gnu/ (0xb5c19000) => /lib/i386-linux-gnu/ (0xb5af0000)
    	/lib/ (0x800f8000) => /lib/i386-linux-gnu/ (0xb5ac6000) => /usr/lib/i386-linux-gnu/ (0xb5ac2000) => /usr/lib/i386-linux-gnu/ (0xb5abd000) => /usr/lib/i386-linux-gnu/ (0xb5ab5000) => /usr/lib/i386-linux-gnu/ (0xb5ab2000) => /usr/lib/i386-linux-gnu/ (0xb5a96000) => /usr/lib/i386-linux-gnu/ (0xb5a81000) => /usr/lib/i386-linux-gnu/ (0xb5a7c000) => /usr/lib/i386-linux-gnu/ (0xb5a75000) => /usr/lib/i386-linux-gnu/ (0xb5a72000) => /usr/lib/i386-linux-gnu/ (0xb5927000) => /usr/lib/i386-linux-gnu/ (0xb590c000) => /usr/lib/i386-linux-gnu/ (0xb5905000) => /usr/lib/i386-linux-gnu/ (0xb58df000) => /usr/lib/i386-linux-gnu/ (0xb58d8000) => /usr/lib/i386-linux-gnu/ (0xb58c5000) => /usr/lib/i386-linux-gnu/ (0xb400d000) => /lib/i386-linux-gnu/ (0xb3f97000) => /usr/lib/i386-linux-gnu/ (0xb3f93000) => /usr/lib/i386-linux-gnu/ (0xb3f8c000)

    I want to avoid X server based library linking with my application. Can anyone help me with a way out ?

    Thank you for you time.

  • Lifetime Qt Champion


    What options did you pass to configure ?

  • @SGaist Default configurations by the qtcreator

    qmake firstx86/ -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug && /usr/bin/make qmake_all

    Edited :
    Are you asking about the options passed on to the build of Qt 5.9.1 ?

  • Lifetime Qt Champion

    Yes, the one you used to build your custom version of Qt.

  • @SGaist This is my configuration

    ./configure -opensource -confirm-license -skip wayland -no-egl -c++std c++11 -proprietary-codecs -v -I/opt/qt/qt5.9.1x86/include -L/opt/qt/qt5.9.1x86/lib -prefix /opt/qt/qt5.9.1x86

  • Lifetime Qt Champion

    From your options I don't see anywhere that you are disabling the xcb backend.

  • @SGaist Yes i have not disbaled xcb backend. But is it possible to build an application specifically for framebuffer ? Or the build will happen for all the plugins available ?

  • Lifetime Qt Champion

    The application stays generic, it’s just the backend plugin loaded that changes.

Log in to reply