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
chtoller last edited by
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?