Important: Please read the Qt Code of Conduct -

Problems building on Solaris 11 x86

  • Hi.

    I'm trying to build QtWebKit on a Solaris 11 machine (gcc 4.5.2, gmake 3.82). I'm actually trying to build a piece of software that is using QtWebKit (, and QtWebKit forms like 95% of it. Phantomjs comprises QtWebKit 5.3.1, actually the svn revision. I was able to solve almost all of the issues while building, but the last (at least I hope it's the last one) remains - after all of the building/linking stages, while packing the ar archive ar gets empty argument list for libQt5WebKit.a:

    rm -f libQt5WebKit.a
    ar cq libQt5WebKit.a
    rm -f /home/emz/src/phantomjs-2.0.0/src/qt/qtbase/lib/libQt5WebKit.a
    mv -f libQt5WebKit.a /home/emz/src/phantomjs-2.0.0/src/qt/qtbase/lib/

    Thus, I got the empty file. This is caused by the incorrect Makefile.api file, which does not contain any $OBJECTS at all (though I can definitely see some on disk, and they look valid to me; I'm also suspicious about empty $(SOURCES)):

    ####### Output directory
    OBJECTS_DIR   = .obj/
    ####### Files
    SOURCES       =
    OBJECTS       =
    DIST          = ../.qmake.conf \
                    ../.qmake.cache \
                    ../Tools/qmake/mkspecs/features/features.pri \
                    ../Tools/qmake/mkspecs/features/functions.prf \
                    ../Tools/qmake/mkspecs/features/default_pre.prf \
                    ../Tools/qmake/mkspecs/features/unix/default_pre.prf \
                    WebKit/WebKit1.pri \
                    ../Tools/qmake/mkspecs/modules/webkit1.prf \
                    WebCore/WebCore.pri \
                    ../Tools/qmake/mkspecs/modules/webcore.prf \
                    ThirdParty/leveldb/leveldb.pri \
                    ../Tools/qmake/mkspecs/modules/leveldb.prf \
                    JavaScriptCore/JavaScriptCore.pri \
                    ../Tools/qmake/mkspecs/modules/javascriptcore.prf \
                    WTF/WTF.pri \
                    ../Tools/qmake/mkspecs/modules/wtf.prf \
                    ../Tools/qmake/mkspecs/features/webkit_modules.prf \
                    ../Tools/qmake/mkspecs/features/default_post.prf \
                    ../Tools/qmake/mkspecs/features/unix/default_post.prf \
                    ../Tools/qmake/mkspecs/features/production_build.prf \
                    ../Tools/qmake/mkspecs/features/use_all_in_one_files.prf \
    QMAKE_TARGET  = Qt5WebKit
    DESTDIR       = /home/emz/src/phantomjs-2.0.0/src/qt/qtbase/lib/#avoid trailing-slash linebreak
    TARGET        = libQt5WebKit.a

    I was unable to fugure out why. Can please someone help me with determining why this is happening, at least where to look for the answer. I tried to recreate the Makefile.api with the command it supposes:

    /home/emz/src/phantomjs-2.0.0/src/qt/qtbase/bin/qmake WEBKIT_CONFIG\ -=\ \ use_glib\ use_gstreamer\ use_gstreamer010\ use_native_fullscreen_video\ legacy_web_audio\ web_audio\ video\ gamepad -o Makefile.api api.pri

    I added the -d flag to qmake on order to undestand possible error, but I got 3 megabytes of output and this is way to much for me to analyze (and I think this is pretty much for anyone).