Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Cannot build Qt Webkit with version 4.7.1: configure.exe -release -platform win32-icc
Forum Updated to NodeBB v4.3 + New Features

Cannot build Qt Webkit with version 4.7.1: configure.exe -release -platform win32-icc

Scheduled Pinned Locked Moved Installation and Deployment
13 Posts 2 Posters 11.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q Offline
    Q Offline
    quocanle
    wrote on last edited by
    #1

    I want to build the Qt frameworks from source with Intel compiler. Everything seems to work fine, except I can't get Qtwebkit4.dll to build. I use the configure command:

    configure.exe -release -platform win32-icc
    nmake (Webkit was not built by default)

    Tried:
    configure.exe -release -webkit -platform win32-icc
    nmake (nmake error. Looks like jscore.lib was built, but nmake was looking for jscore.a, why?)

    Modify the qmake.conf file in win32-msvc2008 and change MS compiler/linker (cl, link) to Intel compiler/linker (icl, xilink)

    Tried:
    configure.exe -release -webkit -platform win32-msvc2008
    nmake (Successfully built QtWebkit4.dll with Intel compiler).

    What is the problem when I use configure and set -platform win32-icc?

    Regards,
    quocanle

    1 Reply Last reply
    0
    • G Offline
      G Offline
      GordonSchumacher
      wrote on last edited by
      #2

      I think that in order to get any help you will need to post some actual error messages; I've not built Qt with the Intel compiler in quite a long while, but there's not enough info for me to even have a chance.

      1 Reply Last reply
      0
      • Q Offline
        Q Offline
        quocanle
        wrote on last edited by
        #3

        This is the error I am seeing when I run:

        configure -release -webkit -platform win32-icc
        nmake

            C:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\bin\moc.exe -DQT_SHARE
        

        D -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DBUILDING_QT__=1 -DWTF_U
        SE_ACCELERATED_COMPOSITING -DUSE_SYSTEM_MALLOC -DNDEBUG -DQT_MAKEDLL -DQT_NO_CAS
        T_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_FAST_
        OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DBUILD_WEBKIT -D_
        HAS_TR1=0 -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_VIDE
        O=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_DATABASE=1 -DENABLE_EVENTSOURCE=1 -D
        ENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1
        -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_SQLITE=1 -D
        ENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=1 -DENABLE_XPATH=1 -DENABLE_WCSS=0 -
        DENABLE_WML=0 -DENABLE_SHARED_WORKERS=1 -DENABLE_WORKERS=1 -DENABLE_XHTMLMP=0 -D
        ENABLE_DATAGRID=0 -DENABLE_RUBY=1 -DENABLE_SANDBOX=1 -DENABLE_PROGRESS_TAG=1 -DE
        NABLE_BLOB_SLICE=0 -DENABLE_3D_RENDERING=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -
        DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_SVG_AS_IMAGE=1 -D
        ENABLE_SVG_USE=1 -DENABLE_DATALIST=1 -DENABLE_TILED_BACKING_STORE=1 -DENABLE_NET
        SCAPE_PLUGIN_API=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_XSLT=0 -DENABLE_QT_BEARER=1 -
        DENABLE_TOUCH_EVENTS=1 -DSQLITE_CORE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_
        COMPLETE -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT
        _HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 @tmp\moc\release_shared/
        mocinclude.tmp -D__INTEL_COMPILER -DWIN32 ..\WebKit\qt\Api\qwebinspector.h -o tm
        p\moc\release_shared\moc_qwebinspector.cpp
        c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\bin\rcc.exe -name WebC
        ore WebCore.qrc -o tmp\rcc\release_shared\qrc_WebCore.cpp
        c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\bin\rcc.exe -name WebK
        it inspector\front-end\WebKit.qrc -o tmp\rcc\release_shared\qrc_WebKit.cpp
        NMAKE : fatal error U1073: don't know how to make '..\JavaScriptCore\release\lib
        jscore.a'
        Stop.
        NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
        \nmake.exe"' : return code '0x2'
        Stop.
        NMAKE : fatal error U1077: 'cd' : return code '0x2'
        Stop.

        1 Reply Last reply
        0
        • G Offline
          G Offline
          GordonSchumacher
          wrote on last edited by
          #4

          Hm, I've forgotten - does icc always name its static archive with ".a", even when it's in Microsoft mode?
          Also, are you attempting to do two builds of Qt at the same time (e.g., an x86 build and an x64 build)?

          1 Reply Last reply
          0
          • Q Offline
            Q Offline
            quocanle
            wrote on last edited by
            #5

            No, on Windows intel compilers builds a .lib. Intel compiler did create jscore.lib, but nmake is expecting a ".a" which I assume is more Mac or Linux version.

            I was only trying to build for x86.

            1 Reply Last reply
            0
            • G Offline
              G Offline
              GordonSchumacher
              wrote on last edited by
              #6

              Would you do me a favour and post that makefile to Pastebin?

              1 Reply Last reply
              0
              • Q Offline
                Q Offline
                quocanle
                wrote on last edited by
                #7

                I'm new to Qt in general and all the protocols. Hopefully, I did it correctly. I pasted the Makefile her:

                http://qt.pastebin.com/45aadxym

                1 Reply Last reply
                0
                • G Offline
                  G Offline
                  GordonSchumacher
                  wrote on last edited by
                  #8

                  Er, sorry - I wasn't sufficiently specific. That's the top-level makefile; I need the one at src/3rdparty/webkit/WebCore/Makefile (since presumably that one is the one which is dying).

                  1 Reply Last reply
                  0
                  • Q Offline
                    Q Offline
                    quocanle
                    wrote on last edited by
                    #9

                    My fault, should have figure that out. Here's the Makefile for QtWebkit

                    http://qt.pastebin.com/5ViLAmz0

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      GordonSchumacher
                      wrote on last edited by
                      #10

                      Still not it, argh... how about Makefile.debug in that dir? :)

                      1 Reply Last reply
                      0
                      • Q Offline
                        Q Offline
                        quocanle
                        wrote on last edited by
                        #11

                        The makefile seems to be too large (550K lines) for Pastebin to handle. Server is timing out after trying to submit. Anyway, I see the following in the Makefile:

                        Here's it's using jscore.lib

                        LIBS = ..\JavaScriptCore\release\jscore.lib winmm.lib gdi32.lib user32.lib advapi32.lib gdi32.lib shell32.lib shlwapi.lib user32.lib version.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\phonon4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtGui4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtNetwork4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtCore4.lib tmp\obj\release_shared\QtWebKit_resource.res

                        But here, it's specifying libjscore.a

                        ####### Build rules

                        first: all
                        all: Makefile.Release ........\lib\QtWebKit.prl $(DESTDIR_TARGET)

                        $(DESTDIR_TARGET): $(OBJECTS) ..\JavaScriptCore\release\libjscore.a tmp\obj\release_shared\QtWebKit_resource.res
                        $(LINK) $(LFLAGS) /OUT:$(DESTDIR_TARGET) @<< $(OBJECTS) $(LIBS)

                        In the working Makefile, where I modify the configure command to: configure -release -webkit -platform win32-msvc2008

                        The Makefile generated has both jscore.lib in both places

                        LIBS = /LIBPATH:../JavaScriptCore/debug ../JavaScriptCore/debug\jscore.lib winmm.lib gdi32.lib user32.lib advapi32.lib gdi32.lib shell32.lib shlwapi.lib user32.lib version.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\phonond4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtGuid4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtNetworkd4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtCored4.lib tmp\obj\debug_shared\QtWebKitd_resource.res

                        ####### Build rules

                        first: all
                        all: Makefile.Debug ........\lib\QtWebKitd.prl $(DESTDIR_TARGET)

                        $(DESTDIR_TARGET): $(OBJECTS) ..\JavaScriptCore\debug\jscore.lib tmp\obj\debug_shared\QtWebKitd_resource.res
                        $(LINK) $(LFLAGS) /OUT:$(DESTDIR_TARGET) @<< $(OBJECTS) $(LIBS)

                        Either configure or qmake is screwing up the generation of the Makefile when win32-icc is specified as the platform for configure.

                        1 Reply Last reply
                        0
                        • G Offline
                          G Offline
                          GordonSchumacher
                          wrote on last edited by
                          #12

                          I'm 90% sure this is in qmake's arena.

                          Okay, so time to bypass normal conventions.

                          At the top of that generated Makefile (the broken one), you will see a line which reads something like: @"Command: C:\qt-src\bin\qmake -spec C:\qt-src\mkspecs\win32-icc ..."@
                          (Sorry, I am in Linux at the moment, so it's "something like that"...)

                          At a command prompt, change into the directory which contains that makefile, copy and paste in that line, but at the end add @-d -d >qmake.dbg 2>&1@

                          You will end up with one ridiculously ginormous file. Please compress that up and e-mail it to me (you can get my e-mail address by going to my profile and clicking on the Gitorious link; my e-mail address is right up top).

                          1 Reply Last reply
                          0
                          • G Offline
                            G Offline
                            GordonSchumacher
                            wrote on last edited by
                            #13

                            My error - apparently qmake only does that for Unix-style Makefiles...

                            So amending that, just change into that directory and run:
                            @qmake -o Makefile.Debug WebCore.pro -d -d >qmake.dbg 2>&1@

                            1 Reply Last reply
                            0

                            • Login

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups
                            • Search
                            • Get Qt Extensions
                            • Unsolved