[CentOS] firefox 18

Wed Jan 23 15:36:16 UTC 2013
James Pearson <james-p at moving-picture.com>

fred smith wrote:
>>In case anyone is interested, I managed to rebuild firefox 18.0.1 on 
>>CentOS 5 (i686) without too many problems
>>It appears to run fine on CentOS 5
>>If anyone wants to know the details, then let me know
> I've been thinking of trying to build it here, but haven't had time and
> energy, both at the same time, to try it. I have built firefox before,
> but not for several years, so it's probably changed since then.
> But, yes, I'd like to see the gory details.

Ok - this is what I did:

You need a more recent gcc/g++ - the latest gcc44 and g++44 that comes 
with CentOS 5 appears to work fine - so install these:

  sudo yum install gcc44 g++44

You might need to install various other devel RPMS - the page at 
gives an idea of what may be needed - the doc is for building 32 bit 
firefox on a fedora17 64 bit box - but gives some clues as to what else 
may be needed ...

The build process also needs python 2.6 - I happened to to have a local 
build of python 2.6, so I used that. But I believe python26 can be 
installed from other repos

Download and extract the firefox source from 

In the top level mozilla-release directory, create the file "mozconfig" 
containing something like:

. $topsrcdir/browser/config/mozconfig
ac_add_options --enable-update-channel=release --enable-update-packaging 
--enable-official-branding --enable-stdcxx-compat --disable-gio
mk_add_options MOZ_MAKE_FLAGS="-j4"
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1

You may also need to add the line (something like):


i.e. the name/path of your python 2.6 binary

Note: the ac_add_options line is based on what is given via 
about:buildconfig when running a mozilla.org firefox 18 release - I 
removed the '--enable-warnings-as-errors' flag and added '--disable-gio' 
- as CentOS 5 doesn't have GIO support (???)

Then build by running:

   make -f client.mk

Go and have a coffee or two

If all is OK, then do:

  cd obj-i686-pc-linux-gnu
  make package

The bzip2'd tar archive will then be in the dist subdirectory

The above worked for me ...

James Pearson