[webkit-help] Problems compiling WebKit with Cygwin

Dominic Mazzoni dmazzoni at google.com
Wed Dec 30 17:03:35 PST 2009


Hello,

I would love some assistance getting WebKit to compile on Windows using
cygwin (it at least compiles from the IDE).  I'm an experienced
developer overall but I haven't done much Windows development in years
(since VC++ 6 on Win98), and the Cygwin/Visual Studio mix is very new
to me, so please don't hesitate to suggest "obvious" tricks or ways to
diagnose the problem(s).

I checked all of the FAQ at
http://trac.webkit.org/wiki/BuildingOnWindows, which got me past the
first few hurdles, but I'm stuck trying to get the compile to succeed
from cygwin.

I'm on Vista, 64-bit.  Here are the steps I followed:
1. Uninstalled VS2008 and installed VC++ Express 2005.  (I'll try to
reinstall VS2008 on top of it later.)
2. Followed all of the "Installing the Developer Tools" instructions
from: http://webkit.org/building/tools.html
3. In the cygwin shell:

> cd ~
> svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit
> cd WebKit

Downloaded WebKitSupportLibraries.zip to the current directory

> WebKitTools/Scripts/update-webkit
> WebKitTools/Scripts/update-webkit-support-libs
> WebKitTools/Scripts/update-webkit-auxiliary-libs
> WebKitTools/Scripts/set-webkit-configuration --debug
> /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 8/VC/bin/vcvars32.bat
> export PATH="/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 8/Common7/IDE:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 8/VC/bin:$PATH"

This last step might be wrong; without it, it can't find msvcr80.dll
and a bunch of other Apple dlls:

> cp /cygdrive/c/Program\ Files\ \(x86\)/Common\ Files/Apple/Apple\ Application\ Support/*.dll WebKitBuild/bin

4. Opened the VC++ IDE and added the following to the project settings:

 Executable Files
   c:\cygwin\home\dmazzoni\WebKit\WebKitLibraries\win\bin
   c:\windows\system32
   c:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
   ...
   c:\cygwin\bin
 Include Files
   c:\cygwin\home\dmazzoni\WebKit\WebKitLibraries\win\include
   c:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
 Library Files
   c:\cygwin\home\dmazzoni\WebKit\WebKitLibraries\win\lib
   c:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

5. At this point, a Debug build inside Visual Studio succeeds!  I want
it to work from the command line, though.

6. In the cygwin shell:

> WebKitTools/Scripts/build-webkit

...fails:

Checking mod-date of WebKitSupportLibrary.zip...
Current WebKitSupportLibrary is up to date
Building results into: /home/dmazzoni/WebKit/WebKitBuild
WEBKITOUTPUTDIR is set to: C:\cygwin\home\dmazzoni\WebKit\WebKitBuild
WEBKITLIBRARIESDIR is set to: C:\cygwin\home\dmazzoni\WebKit\WebKitLibraries\win
/cygdrive/c/Program Files (x86)/Microsoft Visual Studio
8/Common7/IDE/VCExpress.exe /useenv win\WebKit.vcproj\WebKit.sln
/build Debug

===== BUILD FAILED ======

Please ensure you have run WebKitTools/Scripts/update-webkit to
install dependencies.

You can view build errors by checking the BuildLog.htm files located at:
/home/dmazzoni/WebKit/WebKitBuild/obj/<project>/<config>.

> cat WebKitBuild/obj/JavaScriptCore/Debug/BuildLog.htm

...

Output Window

Performing Pre-Build Event...
/usr/bin/bash
Performing Pre-Link Event...
Linking...
LINK : C:\cygwin\home\dmazzoni\WebKit\WebKitBuild\bin\JavaScriptCore.dll
not found or not built by the last incremental link; performing full
link
LINK : fatal error LNK1104: cannot open file 'gdi32.lib'
Project : warning PRJ0018 : The following environment variables were not found:
$(PRODUCTION)

Last time I tried this, I got "cannot spawn cmd.exe"...I'm not sure
what I did differently this time.  Either way, I'm sure I'm missing
something.

7. If I build using the IDE and then try to run the layout tests directly:

> WebKitTools/Scripts/run-webkit-tests --root=WebKitBuild/bin

...every test crashes, and I haven't figured out where to find the
error message.  The stderr.txt file never gets created, and when I try
to run DumpRenderTree-debug.exe manually, it exits silently.

Thanks in advance and happy new year!

- Dominic


More information about the webkit-help mailing list