Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Linking of libQtWebKit fails because of missing -lX11 argument



  • Hi there,

    I'm trying to set up my development environment for Linux X11 & embedded (BeagleBone Black) targets.
    I was able to build Qt everywhere for embedded perfectly fine, but having issues with the build for Linux / X11.

    I downloaded and un-zipped qt-everywhere-opensource-src-4.8.6.tar.gz and used the following commands to start the build:
    @
    ./configure -v -opensource -confirm-license -prefix /opt/qt-test -no-accessibility -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -no-qt3support
    make -j 2
    @

    make fails when trying to link libQtWebKit with several X11-related undefined references. E.g.:
    @
    ../../WebCore/release/libwebcore.a(PluginPackageQt.o): In function WebCore::initializeGtk(QLibrary*)': PluginPackageQt.cpp:(.text._ZN7WebCoreL13initializeGtkEP8QLibrary+0x24): undefined reference toXSetErrorHandler'
    PluginPackageQt.cpp:(.text._ZN7WebCoreL13initializeGtkEP8QLibrary+0x2e): undefined reference to XSetIOErrorHandler' PluginPackageQt.cpp:(.text._ZN7WebCoreL13initializeGtkEP8QLibrary+0x3f): undefined reference toXSetErrorHandler'
    PluginPackageQt.cpp:(.text._ZN7WebCoreL13initializeGtkEP8QLibrary+0x47): undefined reference to XSetIOErrorHandler' ../../WebCore/release/libwebcore.a(PluginViewQt.o): In functionWebCore::getVisualAndColormap(int, Visual**, unsigned long*)':
    PluginViewQt.cpp:(.text._ZN7WebCoreL20getVisualAndColormapEiPP6VisualPm+0x70): undefined reference to XGetVisualInfo' PluginViewQt.cpp:(.text._ZN7WebCoreL20getVisualAndColormapEiPP6VisualPm+0x8c): undefined reference toXFree'
    @

    Looking at the make output, it seems that the X11 libraries are not listed in the g++ command line. I would expect a -lX11 argument, which is mssing.
    I validated that adding -lX11 to the g++ command line allows me to link libQtWebKit properly.

    Question: Which .conf or .pro file do I need to modify to ensure that -lX11 is added for WebKit?

    I tried a LIBS += $$QMAKE_LIBS_X11 in ./src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro, but that didn't solve it.
    Maybe that's the wrong place anyway.

    Any idea how to fix this?

    Thanks,

    Christian


Log in to reply