When compiling the “Webkit” (Nightly build) in Windows through a “Cygwin” console; that is, executing “build-webkit” command, appears an error. Going to the directory “WebKitBuild” it is possible to read the file “BuildFailed” and then it appears something like:
XXWebCoreXX (or sometimes XXWebKitXX)
It is possible to get more information reading the corresponding “BuildLog.htm” file; however, the problem is that in this file there is no a clear description of the real error.
In order to know the real error it is necessary to open the “WebKit.sln” file an then compile the release configuration of the project “WebKit”, in the directory<CygwinDir>\home\<username>\webkit\WebKit\win\WebKit.vcproj.
Sooner or later it will appear the real error; that is:
Link: Out of memory
This error happens when the physical memory used by the linker reaches 1 GigaByte, and this error happens irrespective of if the machine has 1, 2 or 3 GigasBytes of memory or if the compiler is Visual Sutdio C++ 2005 Express or Developer Edition.
It can be avoided that the linker consumes so much memory, in the “Release” configuration, removing in the configuration the creation of any kind of debug information (that is, .pdb files) in the “Release” configuration (people who want to debug, can do that compiling the “Debug” configuration, which generates the “WebKit.dll” and so on, without any problem). Consequently, in order to set this configuration, in every one of the projects of the “WebKit.sln” solution, it is necessary:
a) Click the right button and select "Properties"
b)"Configuration Properties" --> "C++" --> "Debug Information Format": This options has to be set to "Disabled"
c)"Configuration Properties" --> "Linker" -->"Debugging"-->"Generate Debug Info": This option has to be set to "No"
d) (Optional) "Configuration Properties" --> "Linker" -->"Debugging"-->"Generate Program Database File": This field has to be empty.
After setting the “Release” configuration according to the previous steps, it will be possible to compile the “WebKit” project without any problems.
I do not understand why the compiler (linker) gives this “Out of memory” error when it reaches 1 GigaByte of used memory, irrespective of the physical memory installed in the machine (as explained above, this error also happens in 3 GigaBytes machines).