[SOLVED] Building Qt 5.3 Alpha on Mac: webkitwidgets and webkit built successfully, but are unavailable



  • This is the error message I get:

    bq. Unknown module(s) in QT: webkitwidgets webkit

    How can I fix this this problem? I swear I've seen Webkit being built! At least, some parts of it, v8 and such. In fact, that's what took the most of the day. Why do I get this error and how to fix it?

    This is how I've configured Qt:

    bq. ./configure -c++11 -no-qml-debug -no-openssl -nomake examples -nomake tests -no-cups -no-icu -no-xcb -opengl desktop

    There are indeed files qtwebkit/lib/QtWebKit.framework and QtWebKitWidgets.framework



  • Any advice please? The problem is that qmake doesn't acknowledge I do have webkit. Where does it get a list of available Qt modules?


  • Moderators

    Hi,

    Qt WebKit requires ICU and Ruby: http://qt-project.org/wiki/Building_Qt_5_from_Git



  • Just to reiterate: I've built QtWebkit successfully - without ICU and Ruby. In fact, I've configured Qt with -no-icu, and I still got QtWebkit framework built. Are you saying it's non-functional and that's why it is not detected by qmake? I think building QtWebkit took more than half the total time to build Qt.



  • How do you get that error message?
    Do you run examples or trying to build something using the modules?

    Take a look on the installation directory Qt_install_root/lib and verify that you have QtWebkit framework installed and it contains something.



  • QtWebKit.framework is far from empty, 183.4 MB. It is located at the correct path.
    I get this error when running qmake on a .pro file that has QT += webkit



  • Mac OS X requires some additional steps to be done if you build it by yourself.

    What does otool -L shows?
    @
    otool -L /Qt_install_root/lib/QtWebKit.framework/QtWebKit
    @

    if it does not show correct path to QtWebKit then you need to modify it using install_name_tool
    @
    install_name_tool -change QtWidgets.framework/Versions/5/QtWidgets /Qt_install_root/lib/QtWidgets.framework/Versions/5/QtWidgets /Qt_install_root/lib/QtWidgets.framework/Versions/5/QtWidgets
    @

    The same steps need to be done for all shared libraries.



  • "Qt for Mac OS X - Deployment":http://qt-project.org/doc/qt-5/macosx-deployment.html gives more details on it.



  • Thanks for the advice, but I don't see anything wrong here:

    bq. otool -L /usr/local/Qt-5.3.0/lib/QtWebKit.framework/QtWebKit
    /usr/local/Qt-5.3.0/lib/QtWebKit.framework/QtWebKit:
    /usr/local/Qt-5.3.0/lib/QtWebKit.framework/Versions/5/QtWebKit (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.3.0, current version 5.3.0)
    /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 157.0.0)
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1265.0.0)
    /usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.9.0)
    /usr/lib/libxslt.1.dylib (compatibility version 3.0.0, current version 3.26.0)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
    /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.11.0)
    /usr/lib/libsqlite3.dylib (compatibility version 9.0.0, current version 158.0.0)
    /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
    /usr/lib/libicucore.A.dylib (compatibility version 1.0.0, current version 51.1.0)
    /usr/local/Qt-5.3.0/lib/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtQml.framework/Versions/5/QtQml (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtMultimedia.framework/Versions/5/QtMultimedia (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtSql.framework/Versions/5/QtSql (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtPositioning.framework/Versions/5/QtPositioning (compatibility version 5.3.0, current version 5.3.0)
    /usr/local/Qt-5.3.0/lib/QtSensors.framework/Versions/5/QtSensors (compatibility version 5.3.0, current version 5.3.0)
    /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 59.0.0)
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.0.0)

    I want to stress that my application uses core, gui, network, script, opengl, widgets and webkit components, of which webkit is the only problematic one. If I remove webkit dependency from the application, I can build and run it no problem.



  • Is it possible that you have another version of Qt without webkit and you run qmake from that Qt?



  • No, I don't believe so. i've got 3 versions of Qt, of which all have webkit. Plus, I'm running qmake from Qt Creator where I have 3 kits configured, so I'm pretty sure I've got the right qmake.



  • Try to run qmake manually with -d option
    @
    qmake -d -recursive your_sources_dir
    @

    It will produce a lot of info



  • And just to be sure run qmake -v to verify that you are calling qmake from correct Qt.



  • If I run qmake manually from an arbitrary dir, I will get qmake for 4.8.5 which, apparently, I have in PATH and I need to preserve this behaviour. In Qt creator, I have all my 3 Qt versions configured, and I have manually pointed each to the right qmake.



  • Aha! It was a problem with qmake. It was the right qmake, but I was using a copy located elsewhere. Once I pointed to the same qmake in /usr/local/Qt-5.3.../bin, it all started working. Thanks!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.