Firefox 16, powerpc

Posted: October 15, 2012 in Uncategorized
Tags: , , , , ,

A few months ago I wrote a blog post on compiling FireFox for the powerpc on Debian Linux. I had built Firefox 9 when I was writing that post and in the intervening months, thanks to the Mozilla rapid release cycle, Firefox 16 has been released. Does Firefox 16 still build on the powerpc with Debian Squeeze?

  1. I downloaded the latest firefox source code from mozilla
  2. This time I didn’t need to apply any patches for the powerpc.
  3. When I ran ./configure followed by ‘make’ as described in my post on Firefox9 I encountered a compile error.
    syntax error in VERSION script when trying to build libraries in the subdirectories under security/nss/lib such as util (libnssutil).

The issue is that the mapfiles such as security/nss/lib/util/nssutil.def that are included in the source tree are not suitable as input files to the linker but need to be pre-processed first. The rules to process the ‘MAPFILE’ are defined in security/coreconf/Linux.mk and are invoked by a rule in security/coreconf/Rules.mk that build a proper mapfile by running the mapfile distributed in the source tree (such as nssutil.def) through sed and grep to produce a file that can be passed to the linker.

The make rule takes a mapfile $(MAPFILE_SOURCE)=nssutil.def and generates $(MAPFILE)=nssutil.def from it. If you try building firefox as I describe above it will put the output files in the same directory as the input files. This means that the sed/grep rule won’t be executed because the target (nssutil.def) is already present and isn’t older than the dependency (nssutil.def), itself.

If you instead

  1. Set the shell environment variable MOZ_OBJDIR to be a directory other than the source directory
  2. Put your configure options in the file .mozconfig, as described in the Mozilla build instructions
  3. Run make -f client.mk

firefox 16 will build successfully. The issues I encountered with the version script shouldn’t be specific to the powerpc or debian.

About these ads

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