Closed Bug 575041 Opened 12 years ago Closed 10 years ago

Help trying to build Windows 64-bit

Categories

(Firefox Build System :: General, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: atzaus, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4
Build Identifier: 

PGO currently doesn't seem to work on Win64 nightly builds and is disabled.

Reproducible: Always
Component: General → Build Config
QA Contact: general → build.config
Depends on: 575185
Status: UNCONFIRMED → NEW
Ever confirmed: true
Depends on: 621259
Depends on: 627606
The original report is a little light on details (ahem), so I will relate my experience.

Hardware environment:

Dual-core CPU
4GB of RAM + 4GB pagefile

Software Environment:

MozillaBuild v1.5.1
VS2008/SP1
Windows SDK v7.1
Windows XP x64

Non-PGO builds build and run correctly.  PGO builds cause an internal compiler error when re-linking xul.dll.  Building from the Firefox 4.0RC1 tarball, I consistently get this:

Generating code
c:\mozbuild\mozilla\content\base\src\nsObjectLoadingContent.cpp : fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c[0x000000000336DCD5:0x000000001B3178F8]', line 182)
 To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++
 Help menu, or open the Technical Support help file for more information

LINK : fatal error LNK1000: Internal error during IMAGE::BuildImage

The source file nsObjectLoadingContent.cpp is not actually the problem.  If I re-compile it alone with reduced or no optimizations the linker (for xul.dll) complains that it wasn't compiled with /GL, then goes on to fault in a totally unrelated source file.

Peak Commit Charge is always shown as being less than 3GB, so memory starvation doesn't seem to be a factor in the compiler faults.

FYI.
Armen, I believe that PGO is already turned on Win64 tinderbox nightly.  Right?
mkato is right. PGO is enabled for win64 nightly builds (see the mozconfig [1] & the compilation command [2]).

If all you are looking is help to compile yourself you can follow up on http://groups.google.com/group/mozilla.dev.builds/topics

I don't see that you are doing things incorrectly. You might want to compare with the mozconfig I linked [1].
Also note that the SDK version you are using is 7.1 rather than 7.0 (not sure how it should affect it).

I say we close this bug as WONTFIX and follow up on a thread.

For reference, this is what I used to setup the windows 64-bit builder:
https://wiki.mozilla.org/ReferencePlatforms/Win64

[1] http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2/win64/mozilla-central/nightly/mozconfig#l5
[2] make -f client.mk profiledbuild MOZ_BUILD_DATE=20110605030222
Summary: Enable PGO for Win64 nightly builds → Help trying to build Windows 64-bit
Before I take the pain of uninstalling my VS2008/SP1 and Windows SDK installations, and reinstalling per the instructions above, I have to ask: this has actually been tried successfully, right?

I know that that official builds are done with VS2005/SP1, and from Googling this topic I've found others who are unable to do PGO builds with VS2008.

It would be very reassuring to know that Mozilla PGO on VS2008/SP1 is actually possible.
(In reply to comment #4)
> Before I take the pain of uninstalling my VS2008/SP1 and Windows SDK
> installations, and reinstalling per the instructions above, I have to ask:
> this has actually been tried successfully, right?

Right.

> I know that that official builds are done with VS2005/SP1, and from Googling
> this topic I've found others who are unable to do PGO builds with VS2008.

Win64 nightly is VS2008SP1.  But, Win32 is VS2005SP1.

> It would be very reassuring to know that Mozilla PGO on VS2008/SP1 is
> actually possible.

At least, PGO works when using VS2008SP1.  I think that you require more memory.  (My environment is 6GB RAM + 8GB swap.)
We currently produce Win64 builds with VS2008 with PGO as per documented in https://wiki.mozilla.org/ReferencePlatforms/Win64

Here is the mozconfig:
http://hg.mozilla.org/build/buildbot-configs/raw-file/production/mozilla2/win64/mozilla-central/nightly/mozconfig
No longer blocks: support-win64
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
Component: Build Config → General
Product: Firefox → Firefox Build System
You need to log in before you can comment on or make changes to this bug.