Planned maintenance has been done but it did not solve the problem. So work will continue on this and a new time for trying updates will be announced asap.

Cannot build Qt 5.11.0 due to missing wayland libraries (On ubuntu 16.04)



  • When running make with the following configuration:

    sudo ./configure -v -static -prefix "/home/james/Qt/5.11.0_Static" -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-xcb -make libs -nomake tools -nomake examples -nomake tests -opensource -confirm-license -egl -opengl es2 -skip wayland
    

    I get the following errors during build:

    /usr/bin/ld.gold: error: cannot find -lqwayland-generic
    /usr/bin/ld.gold: error: cannot find -lqwayland-xcomposite-egl
    /usr/bin/ld.gold: error: cannot find -lqwayland-xcomposite-glx
    /usr/bin/ld.gold: error: cannot find -lqt-plugin-wayland-egl
    /usr/bin/ld.gold: error: cannot find -lbradient
    /usr/bin/ld.gold: error: cannot find -livi-shell
    /usr/bin/ld.gold: error: cannot find -lQt5WaylandClient
    .obj/qml_plugin_import.o:qml_plugin_import.cpp:function _GLOBAL__sub_I_qml_plugin_import.cpp: error: undefined reference to 'qt_static_plugin_QWaylandEglPlatformIntegrationPlugin()'
    .obj/qml_plugin_import.o:qml_plugin_import.cpp:function _GLOBAL__sub_I_qml_plugin_import.cpp: error: undefined reference to 'qt_static_plugin_QWaylandIntegrationPlugin()'
    .obj/qml_plugin_import.o:qml_plugin_import.cpp:function _GLOBAL__sub_I_qml_plugin_import.cpp: error: undefined reference to 'qt_static_plugin_QWaylandXCompositeEglPlatformIntegrationPlugin()'
    .obj/qml_plugin_import.o:qml_plugin_import.cpp:function _GLOBAL__sub_I_qml_plugin_import.cpp: error: undefined reference to 'qt_static_plugin_QWaylandXCompositeGlxPlatformIntegrationPlugin()'
    .obj/qml_plugin_import.o:qml_plugin_import.cpp:function _GLOBAL__sub_I_qml_plugin_import.cpp: error: undefined reference to 'qt_static_plugin_QWaylandEglClientBufferPlugin()'
    .obj/qml_plugin_import.o:qml_plugin_import.cpp:function _GLOBAL__sub_I_qml_plugin_import.cpp: error: undefined reference to 'qt_static_plugin_QWaylandBradientDecorationPlugin()'
    .obj/qml_plugin_import.o:qml_plugin_import.cpp:function _GLOBAL__sub_I_qml_plugin_import.cpp: error: undefined reference to 'qt_static_plugin_QWaylandIviShellIntegrationPlugin()'
    collect2: error: ld returned 1 exit status
    Makefile:122: recipe for target '../../bin/qml' failed
    make[3]: *** [../../bin/qml] Error 1
    make[3]: Leaving directory '/home/james/Qt5.11.0/5.11.0/Src/qtdeclarative/tools/qml'
    Makefile:126: recipe for target 'sub-qml-make_first' failed
    make[2]: *** [sub-qml-make_first] Error 2
    make[2]: Leaving directory '/home/james/Qt5.11.0/5.11.0/Src/qtdeclarative/tools'
    Makefile:72: recipe for target 'sub-tools-make_first' failed
    make[1]: *** [sub-tools-make_first] Error 2
    make[1]: Leaving directory '/home/james/Qt5.11.0/5.11.0/Src/qtdeclarative'
    Makefile:360: recipe for target 'module-qtdeclarative-make_first' failed
    make: *** [module-qtdeclarative-make_first] Error 2
    

    It looks like even after assigning -skip wayland, I still have dependancies for it. Does anyone know what the issue is here? My understanding is that wayland is only on Ubnutu from 17.04. I don't really want to manually build wayland on my machine, but rather just skip it.

    I'm using Elementary OS (Loki) which is based on Ubuntu 16.04.


  • Lifetime Qt Champion

    Hi,

    Did you add -skip wayland after the build failed or did you do a completely new build ?



  • @SGaist I ran sudo make clean, then ran configure and make again.


  • Lifetime Qt Champion

    I would do an out of source build so if there's trouble with the build you can nuke it start from fresh without possible artefact affecting the detection and build process.

    [Edit: Original message in the wrong thread... SGaist]



  • @SGaist Yup, that was it! I redownloaded the source code, ran an out-of-source build, and the error is now gone and make ran all the way through with no issues.

    Thanks for the quick help!


Log in to reply