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 https://developer.mozilla.org/en/docs/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS 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 ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/18.0.1/source/firefox-18.0.1.source.tar.bz2
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" export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1 CC="gcc44" CXX="g++44"
You may also need to add the line (something like):
PYTHON="python26"
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