Bug 38571 - Compilation of the release configuration gives an out of memory error in Windows XP
Summary: Compilation of the release configuration gives an out of memory error in Wind...
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Major
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-05 01:22 PDT by Genar
Modified: 2017-03-20 19:35 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Genar 2010-05-05 01:22:52 PDT
The problem:

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.

The solution:

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).