Building Thunderbird on 64-bit Vista

I’ve been going through the fun process of setting up a new machine to build Thunderbird.  I decided to go with 64 bit Vista so I could use more than 3GB of memory.   There were a few things the mostly excellent instructions on devmo didn’t mention, so I thought I’d write them down while they’re still fresh in my mind.  Thx very much to Sid (sid0 on IRC) who told me most of this stuff.

First, when you install VC Express (or VC9), make sure you don’t install to the default path, which has (x86) in it – specify a path without the parens, because that confuses our scripts. I just removed the parens.

Our guess-msvc.bat file doesn’t work for 64 bit Vista because the registry entries are in a different location – Sid has a version that does work, and now I have it – maybe we can figure out some place to put it so others can use it. That’s the batch file used by the start-msvcNN.bat files to figure out where VC is, and set up your path for building. I think these were two parts of the diff that I needed:

-SET MSVC9EXPRESSKEY=HKLM\SOFTWARE\Microsoft\VCExpress\9.0\Setup\VC
+SET MSVC9EXPRESSKEY=HKLM\SOFTWARE\Wow6432Node\Microsoft\VCExpress\9.0\Setup\VC

and

+SET SDKDIR=C:\Program Files\Microsoft SDKs\Windows\v6.0A\
+SET SDKVER=6
ECHO Visual C++ 6 directory: %VC6DIR%

You’ll need a different version of msys-1.0.dll than the one in the mozilla build tools in order for the bash shell to work – the one here worked for me.

If you’re using VC Express, the config step might tell you that atlbase.h is missing – see http://developer.mozilla.org/en/docs/atlbase.h for more info. I ended up just adding these lines to .mozconfig:

ac_add_options –disable-xpconnect-idispatch
ac_add_options –disable-activex
ac_add_options –disable-activex-scripting
ac_add_options –disable-accessibility

This allowed me to build and run Thunderbird. There’s a scary comment that says you can’t use jemalloc unless you use VC 7.1, but I didn’t have to do anything special there.

Now I have to go remember what I did to set up Mercurial :-)

- David

4 Responses to “Building Thunderbird on 64-bit Vista”

  1. Alex Vincent says:

    I’m wondering how this advice contrasts with the advice I gave for Vista 64-bit builds (see Website URL for details). Ted Mielczarek would probably be very interested in this for a future MozillaBuild 1.4.

  2. Nick Thomas says:

    The guess-msvc.bat issue is filed as bug 449068.

  3. I think you’ll find it’s VC7.1 (or any express edition) that can’t use jemalloc.

  4. bienvenu says:

    Could be, but I’m using VC Express – I haven’t run Thunderbird extensively, though.

Leave a Reply