Bug 97697 - [Qt][WRT] Unresolved external symbol errors with MSVC
Summary: [Qt][WRT] Unresolved external symbol errors with MSVC
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Qt
Depends on:
Blocks:
 
Reported: 2012-09-26 10:33 PDT by Zoltan Arvai
Modified: 2012-10-03 02:03 PDT (History)
4 users (show)

See Also:


Attachments
possible fix (6.50 KB, patch)
2012-09-27 09:44 PDT, Zoltan Arvai
no flags Details | Formatted Diff | Diff
patch (6.45 KB, patch)
2012-10-01 02:48 PDT, Zoltan Arvai
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Zoltan Arvai 2012-09-26 10:33:15 PDT
While building QtWebKit2 on Windows WebKitTestRunner fails with "unresolved external symbol" errors.

Build environment is 
- Windows 2008 R2
- Qt5Beta1 manual built with angle support (configured with  -opengl-es-2 -angle)
- QtWebKit r129607

Full build log located at: https://gist.github.com/3788158
Here is a part of the log:

link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /DLL /MANIFEST /MANIFESTFILE:..\..\..\lib\WTRInjectedBundle.dll.embed.manifest /OUT:..\..\..\lib\WTRInjectedBundle.dll @C:\Users\WEBKIT~1\AppData\Local\Temp\3\nmDC0.tmp
   Creating library ..\..\..\lib\WTRInjectedBundle.lib and object ..\..\..\lib\WTRInjectedBundle.exp
AccessibilityController.obj : error LNK2019: unresolved external symbol _WKAccessibilityRootObject referenced in function "public: class WTF::PassRefPtr<class WTR::AccessibilityUIElement> __thiscall WTR::AccessibilityController::rootElement(void)" (?rootElement@AccessibilityController@WTR@@QAE?AV?$PassRefPtr@VAccessibilityUIElement@WTR@@@WTF@@XZ)
AccessibilityController.obj : error LNK2019: unresolved external symbol _WKAccessibilityFocusedObject referenced in function "public: class WTF::PassRefPtr<class WTR::AccessibilityUIElement> __thiscall WTR::AccessibilityController::focusedElement(void)" (?focusedElement@AccessibilityController@WTR@@QAE?AV?$PassRefPtr@VAccessibilityUIElement@WTR@@@WTF@@XZ)
TextInputController.obj : error LNK2001: unresolved external symbol _WKRelease
InjectedBundle.obj : error LNK2019: unresolved external symbol _WKRelease referenced in function "public: __thiscall WebKit::WKRetainPtr<struct OpaqueWKString const *>::~WKRetainPtr<struct OpaqueWKString const *>(void)" (??1?$WKRetainPtr@PBUOpaqueWKString@@@WebKit@@QAE@XZ)
InjectedBundlePage.obj : error LNK2001: unresolved external symbol _WKRelease
EventSendingController.obj : error LNK2001: unresolved external symbol _WKRelease
TestRunner.obj : error LNK2001: unresolved external symbol _WKRelease
Comment 1 Zoltan Arvai 2012-09-26 10:39:02 PDT
It needs some investigation, because on an other machine it built successfully.
Full log is available here: https://gist.github.com/3788989

The failing machine has Windows 2008 r2 (64bit) and 8 cores. Other machine has Windows 7 (64bit) and 4 cores. 

I started a build with only 1 core (without CL=/MP) on the first machine to see if the problem caused by the order of concurrent buildings.
Comment 2 Zoltan Arvai 2012-09-27 00:54:19 PDT
The build under win2008r2 with 1 core finished with missing 'WorkQueue.h' error. Full log: https://gist.github.com/3792734

Part of the 1 core log:
cl -c -nologo -Zm200 -Zc:wchar_t -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996 -O2 -MD -GR -EHsc -DUNICODE -DWIN32 -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_BLOB=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1 -DENABLE_METER_ELEMENT=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DWTF_USE_TILED_BACKING_STORE=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DPLUGIN_ARCHITECTURE_UNSUPPORTED=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DENABLE_CSS_SHADERS=1 -DENABLE_ORIENTATION_EVENTS=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_TOUCH_SLIDER=1 -DENABLE_ACCELERATED_2D_CANVAS=0 -DENABLE_ANIMATION_API=0 -DENABLE_BATTERY_STATUS=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_TEXT_DECORATION=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_DOWNLOAD_ATTRIBUTE=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_GAMEPAD=0 -DENABLE_GEOLOCATION=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INDEXED_DATABASE=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_LINK_PREFETCH=0 -DENABLE_LINK_PRERENDER=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MHTML=0 -DENABLE_MICRODATA=0 -DENABLE_MUTATION_OBSERVERS=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETWORK_INFO=0 -DENABLE_QUOTA=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_SVG_DOM_OBJC_BINDINGS=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_TEXT_NOTIFICATIONS_ONLY=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_UNDO_MANAGER=0 -DENABLE_VIBRATION=0 -DENABLE_VIDEO=0 -DENABLE_VIDEO_TRACK=0 -DENABLE_WEB_AUDIO=0 -DENABLE_XSLT=0 -DBUILDING_WTRInjectedBundle -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DSQLITE_CORE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DQT_DLL -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_SENSORS_LIB -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"." -I"generated" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Tools\WebKitTestRunner\InjectedBundle" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Tools\WebKitTestRunner" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Tools\WebKitTestRunner\InjectedBundle\Bindings" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\testing\js" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebKit\qt\WebCoreSupport" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Tools\DumpRenderTree\qt" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source" -I"..\..\..\Source\include" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtScript" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\os-win32" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\filesystem" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\geolocation" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\indexeddb" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\navigatorcontentutils" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\notifications" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\quota" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\webaudio" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\webdatabase" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\Modules\websockets" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\accessibility" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\bindings" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\bindings\generic" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\bridge" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\bridge\qt" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\css" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\dom" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\dom\default" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\editing" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\fileapi" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\history" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\html" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\html\canvas" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\html\parser" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\html\shadow" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\html\track" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\inspector" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\loader" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\loader\appcache" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\loader\archive" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\loader\cache" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\loader\icon" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\mathml" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\page" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\page\animation" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\page\qt" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\page\scrolling" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\animation" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\audio" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\filters" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\filters\arm" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\opengl" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\opentype" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\qt" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\surfaces" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\texmap" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\graphics\transforms" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\image-decoders" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\image-decoders\bmp" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\image-decoders\ico" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\image-decoders\gif" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\image-decoders\jpeg" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\image-decoders\png" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\image-decoders\webp" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\leveldb" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\mock" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\network" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\network\qt" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\qt" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\sql" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\text" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\text\transcoder" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\plugins" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\rendering" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\rendering\mathml" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\rendering\style" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\rendering\svg" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\storage" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\svg" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\svg\animation" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\svg\graphics" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\svg\graphics\filters" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\svg\properties" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\testing" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\websockets" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\workers" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\xml" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\xml\parser" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\ThirdParty" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\bridge\jsc" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\bindings\js" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\bridge\c" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\testing\js" -I"..\..\..\Source\WebCore\generated" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\src\3rdparty\sqlite" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WebCore\platform\win" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WTF" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\assembler" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\bytecode" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\bytecompiler" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\heap" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\dfg" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\debugger" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\disassembler" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\interpreter" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\jit" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\llint" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\parser" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\profiler" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\runtime" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\tools" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\yarr" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\API" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\JavaScriptCore\ForwardingHeaders" -I"..\..\..\Source\JavaScriptCore\generated" -I"C:\WebKitBuildSlave\proba5beta\WebKit\Source\WTF" -I"C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\WebKitBuild\Release\include" -I"C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\WebKitBuild\Release\include\QtWebKit" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtWidgets" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtSensors" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtSql" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtNetwork" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtGui" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtGui\5.0.0" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtGui\5.0.0\QtGui" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtCore" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtCore\5.0.0" -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\include\QtCore\5.0.0\QtCore" -I"C:\WebKitBuildSlave\angle\trunk\lib\Release\include" -I"." -I"C:\WebKitBuildSlave\Qt5.0.0beta1-angle\qt5\qtbase\mkspecs\win32-msvc2010" -Foobj\release\ @C:\Users\WEBKIT~1\AppData\Local\Temp\3\nm993F.tmp
QtInitializeTestFonts.cpp
TestRunnerQt.cpp
C:\WebKitBuildSlave\proba5beta\WebKit\Tools\DumpRenderTree\qt\TestRunnerQt.cpp(34) : fatal error C1083: Cannot open include file: 'WorkQueue.h': No such file or directory
Generating Code...
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
Comment 3 Zoltan Arvai 2012-09-27 00:59:37 PDT
After adding $${ROOT_WEBKIT_DIR}/Tools/DumpRenderTree to Target.pri and clean building with 8 core the "unresolved external symbol" error returned :(
Full log: https://gist.github.com/3792779
Comment 4 Zoltan Arvai 2012-09-27 02:46:53 PDT
I have successfully reproduced the build issue on Windows7 machine. A moved the WebKit directory to a longer path ("C:\WebKitBuildSlave\proba5beta\WebKit") that exactly the same as on the Win2008r2 machine.

At the same time we figured out with KBalazs that qt/TestRunnerQt.cpp exists in two location:
- $${ROOT_WEBKIT_DIR}/Tools/WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp
- $${ROOT_WEBKIT_DIR}/Tools/DumpRenderTree/qt/TestRunnerQt.cpp
and it seems the build system chose the wrong one. So I added the explicit path to Target.pri. I am looking forward to see the result of this build.
Comment 5 Csaba Osztrogonác 2012-09-27 03:02:31 PDT
(In reply to comment #4)
> I have successfully reproduced the build issue on Windows7 machine. A moved the WebKit directory to a longer path ("C:\WebKitBuildSlave\proba5beta\WebKit") that exactly the same as on the Win2008r2 machine.
> 
> At the same time we figured out with KBalazs that qt/TestRunnerQt.cpp exists in two location:
> - $${ROOT_WEBKIT_DIR}/Tools/WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp
> - $${ROOT_WEBKIT_DIR}/Tools/DumpRenderTree/qt/TestRunnerQt.cpp
> and it seems the build system chose the wrong one. So I added the explicit path to Target.pri. I am looking forward to see the result of this build.

Argh ... MSVC always has problem with same filenames with batch build :-/
In this case we usually renames files.
Comment 6 Simon Hausmann 2012-09-27 03:11:05 PDT
(In reply to comment #5)
> (In reply to comment #4)
> > I have successfully reproduced the build issue on Windows7 machine. A moved the WebKit directory to a longer path ("C:\WebKitBuildSlave\proba5beta\WebKit") that exactly the same as on the Win2008r2 machine.
> > 
> > At the same time we figured out with KBalazs that qt/TestRunnerQt.cpp exists in two location:
> > - $${ROOT_WEBKIT_DIR}/Tools/WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp
> > - $${ROOT_WEBKIT_DIR}/Tools/DumpRenderTree/qt/TestRunnerQt.cpp
> > and it seems the build system chose the wrong one. So I added the explicit path to Target.pri. I am looking forward to see the result of this build.
> 
> Argh ... MSVC always has problem with same filenames with batch build :-/
> In this case we usually renames files.

Aw snap, you're right.

Hmm, instead of renaming we could also perhaps handle QtInitializeTestFonts.cpp differently. For example we could simply have a QtInitializeTestFonts.cpp in InjectedBundle/qt that itself contains an #include "../../path/to/QtInitializeTestFonts.cpp" and thus avoid the include path addition
Comment 7 Zoltan Arvai 2012-09-27 04:42:27 PDT
Adding explicit path to SOURCES and HEADERS didn't help. 
SOURCES += \
$${ROOT_WEBKIT_DIR}/Tools/WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp \
HEADERS += \
$${ROOT_WEBKIT_DIR}/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h \


It seems the build is ok without any change when WebKit location is
C:\WebKitBuildSlave\WebKit
but it fails with unresolved external symbol error when its located at 
C:\WebKitBuildSlave\proba5beta\WebKit

Is there any known path length limitation in Windows?
Comment 8 Zoltan Arvai 2012-09-27 09:44:08 PDT
Created attachment 166023 [details]
possible fix

Simon's suggestion seems to work on win7 machine. I run a test build on win2008r2 machine to be sure.
Comment 9 WebKit Review Bot 2012-09-27 09:46:14 PDT
Attachment 166023 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Tools/ChangeLog', u'Tools/WebKitTestRunner..." exit_code: 1
Tools/WebKitTestRunner/InjectedBundle/qt/QtInitializeTestFonts.cpp:29:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Tools/WebKitTestRunner/InjectedBundle/qt/QtInitializeTestFonts.cpp:29:  Could not find a newline character at the end of the file.  [whitespace/ending_newline] [5]
Tools/WebKitTestRunner/InjectedBundle/qt/QtInitializeTestFonts.h:29:  Could not find a newline character at the end of the file.  [whitespace/ending_newline] [5]
Total errors found: 3 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 10 Zoltan Arvai 2012-09-28 00:42:01 PDT
Some update:
Missing 'WorkQueue.h' problem is solved by the patch, but WTR still has unresolved external symbols problem on Win2008r2. I tested it with 8 and 1 core configuration, too.
Comment 11 Zoltan Arvai 2012-09-28 16:55:11 PDT
I found a really nasty thing in the WebKitBuild directory.

It seems if more than one build is running on the same machine at the same time, makefiles can be messed up. On the win2008r2 machine a buildbot is running in the background. On the win7 machine I run only one build at a time.

I searched for differences in win7 and win2008r2 machines WebKitBuild dir and I found strange makefiles, e.g.:
C:\WebKitBuildSlave\proba5beta\WebKit\WebKitBuild\Release\Source\WTF\Makefile.WTF

The right one is here: https://gist.github.com/3802594

The bad one is here: https://gist.github.com/3802589
It must not contain lines like this:
C:\WebKitBuildSlave\szeged-windows-1\qt-windows-32bit-release\build\WebKitBuild\Release\Tools\qmake\mkspecs\modules-inst\qt_webkit.pri \

This is the other build dir, not the "proba5beta\WebKit\WebKitBuild" that i currently working with.

I will run a test later with turned off buildbot. It should generate a working build.
Comment 12 Zoltan Arvai 2012-10-01 02:48:21 PDT
Created attachment 166435 [details]
patch

Fix mixed up DRT and WTR source files.
Comment 13 Zoltan Arvai 2012-10-01 02:51:04 PDT
Unresolved external symbol error caused by running multiple build at the same time. Maybe Qt developer build casing this issue, I'll check it.
Comment 14 Tor Arne Vestbø 2012-10-01 03:55:57 PDT
(In reply to comment #13)
> Unresolved external symbol error caused by running multiple build at the same time. Maybe Qt developer build casing this issue, I'll check it.

Building two webkits at the same time against the same developer-built Qt would break yes. The qt_webkit.pri module file would get overwritten and suddenly point to the other build.
Comment 15 Zoltan Arvai 2012-10-03 01:08:19 PDT
(In reply to comment #14)
> (In reply to comment #13)
> > Unresolved external symbol error caused by running multiple build at the same time. Maybe Qt developer build casing this issue, I'll check it.
> 
> Building two webkits at the same time against the same developer-built Qt would break yes. The qt_webkit.pri module file would get overwritten and suddenly point to the other build.

At first I built Qt5 with prefix pointing to qtbase:
configure -opengl-es-2 -angle C:\WebKitBuildSlave\angle\trunk\lib\Release -opensource -confirm-license -nomake examples -nomake demos -nomake tests -nomake translations -qt-zlib -qt-libpng -qt-libjpeg -qt-sql-sqlite -release -prefix %CD%\qtbase

That works like a developer build: qt_webkit.pri was created/overwritten.

Now I built Qt5 with different prefix and everything works like charm :) 

Only one thing is required now before enabling WK2 build on the MSVC bot: the attached patch.
Comment 16 WebKit Review Bot 2012-10-03 02:03:33 PDT
Comment on attachment 166435 [details]
patch

Clearing flags on attachment: 166435

Committed r130265: <http://trac.webkit.org/changeset/130265>
Comment 17 WebKit Review Bot 2012-10-03 02:03:38 PDT
All reviewed patches have been landed.  Closing bug.