Building 32-bit Firefox on Mac OS X 10.6

Building 32-bit Firefox for Mac OS X 10.6 is a little trickier than building on 10.5. This post will explain how to do it. Assume everything I don’t mention is the same as on 10.5.

First, installing mercurial via MacPorts does not work on 10.6 at this time (MacPorts bug 18449). You’ll have to install mercurial “manually,” instructions can be found on the mercurial website. You can install libidl via MacPorts as usual.

Second, Mac OS X 10.6 is 64-bit by default. Most machines will boot with a 32-bit kernel but applications included with the OS are 64-bit by default and the developer toolchain’s default architecture is x86-64. This means that in order to produce a 32-bit build of Firefox you actually have to do a cross-compile, much like the way we produce PPC builds on Intel machines. Luckily this is not too hard – simply start with the mozconfig I put in Mozilla bug 477945. If anything changes I’ll put updated mozconfigs there. The mozconfig on that bug won’t work for everyone, crashreporter is disabled (Mozilla bug 429841) and the resulting build won’t work on 10.4, but that isn’t to say that you can’t get those features when building on 10.6. You’ll just have to tweak the mozconfig as you need and file bugs when you run into problems. The mozconfig on the bug is designed to get most developers up and running quickly.

5 thoughts on “Building 32-bit Firefox on Mac OS X 10.6

  1. I have followed the intstructions for building Mozilla on 10.6, and i get a “C compiler cannot create executables.
    ” error when I try to build. The complete output is:

    checking host system type… x86_64-apple-darwin10.0.0
    checking target system type… i386-apple-darwin8.0.0
    checking build system type… x86_64-apple-darwin10.0.0
    checking for mawk… no
    checking for gawk… gawk
    checking for perl5… /opt/local/bin/perl5
    cross compiling from x86_64-apple-darwin10.0.0 to i386-apple-darwin8.0.0
    checking for host c compiler… checking for gcc-4.2… gcc-4.2
    gcc-4.2
    checking for host c++ compiler… checking for g++-4.2… g++-4.2
    g++-4.2
    checking for ranlib… no
    checking for ar… no
    checking whether the host c compiler (gcc-4.2 ) works… yes
    checking whether the host c++ compiler (g++-4.2 ) works… yes
    checking for i386-apple-darwin8.0.0-gcc… no
    checking for i386-apple-darwin8.0.0-gcc… no
    checking for gcc… :
    checking whether the C compiler (: ) works… no
    configure: error: installation or configuration problem: C compiler cannot create executables.

    Thanks!

  2. Hi,

    While building the firefox version 3.6.12 on Mac OSX 10.6.5 Snow Leopard, I am getting the following error.

    make[4]: *** [generic_libs] Error 2
    make[3]: *** [libs_tier_gecko] Error 2
    make[2]: *** [tier_gecko] Error 2
    make[1]: *** [default] Error 2
    make: *** [build] Error 2

    I have install nspr from mac ports , but it did not help.

    Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s