Important: Please read the Qt Code of Conduct -

Getting error: Unknown module(s) in QT: webkitwidgets in QT 5.2.1 in Ubutu 12.04

  • I have built Qt 5 libs from source into Ubuntu 12.04 and made a Qt test app. In .pro file I have written QT += core gui webkitwidgets to use Qwebview in my test project.

    But when I run qmake into Qt creator then it gives me error: Unknown module(s) in QT: webkitwidgets.

    I think webkit or webkitwidgets module is not build by source when I built Qt 5 libs from source In Ubutnu 12.04.

    So how can I build qtwebkit or webkitwdgtes module from source or anybody who has idea about the issue then please let me know.


  • Lifetime Qt Champion


    You should be able to do that with:

    cd qtwebkit
    make -jX where X is number of cores * 2 + 1

  • Ok, Thanks for reply. But when I run make -jX where X is number of cores * 2 + 1 command, it gives me the below errors.

    StringImpl.cpp:(.text+0x64ad): undefined reference to u_strToUpper_51' StringImpl.cpp:(.text+0x6547): undefined reference tou_strToUpper_51'
    StringImpl.cpp:(.text+0x6636): undefined reference to u_toupper_51' StringImpl.cpp:(.text+0x66fc): undefined reference tou_toupper_51'
    DatePrototype.cpp:(.text+0x328): undefined reference to udat_open_51' DatePrototype.cpp:(.text+0x35a): undefined reference toudat_format_51'
    DatePrototype.cpp:(.text+0x366): undefined reference to udat_close_51' JSGlobalObjectFunctions.cpp:(.text+0x99f): undefined reference tou_charType_51'
    Base64.cpp:(.text+0x840): undefined reference to u_charDirection_51' StringImpl.cpp:(.text+0xa00): undefined reference tou_foldCase_51'
    CollatorICU.cpp:(.text+0x1f1): undefined reference to ucol_getLocaleByType_51' CollatorICU.cpp:(.text+0x20f): undefined reference toucol_getAttribute_51'
    CollatorICU.cpp:(.text+0x25b): undefined reference to ucol_open_51' CollatorICU.cpp:(.text+0x27f): undefined reference toucol_open_51'
    CollatorICU.cpp:(.text+0x2a4): undefined reference to ucol_setAttribute_51' CollatorICU.cpp:(.text+0x2c2): undefined reference toucol_setAttribute_5

    and many more such undefined reference errors. I think qtwebkit module uses ICU library ( which are missing at my machine ) .

  • Lifetime Qt Champion

    Indeed webkit uses ICU

  • @SGaist , Thanks for your reply. I have build icu libs from source as per below.
    cd source && ./configure --prefix=/usr && make

    and install the same by make install, now I am able to get icu libs at path /usr/lib/ but still I am getting the same undefined reference errors when I build qtwebkit module from source.

    Just FYI, I was getting by default Qt 4.8.1 compatible .so libs at path /usr/lib/i386-linux-gnu/ in Ubuntu 12.04. But I want make deb of QT 5.2.1 app into Ubuntu 12.04 So I installed QT 5.2.1 installer into Ubuntu 12.04 and then I am able to run the QT 5 app into qt creator successfully.

    But when I tried to make deb of the same app then it takes the reference of machine's qt5 libs instead of QT 5 which I installed from installer.

    So that is why I build QT 5.2.1 from source but I got issues regarding webkitwidget when I run my app into Qt creator using Qt 5.2.1 ( which I have build from source ). Then I tried to build qtwebkit and got undefined reference errors which I have mentioned above in my post.

  • Lifetime Qt Champion

    You should take a look at the linux deployment guide to see how you can distribute a Qt application. Then you'll have to apply this to you deb package.

  • Thanks for your reply.

  • Is it possible to make Debian package of Qt 5.2.1 app into Ubuntu 12.04, 32 bit machine ?

  • Lifetime Qt Champion

    Out of curiosity, why not use the system installed Qt ?