One of the benefits of using Linux is its package-management systems, whatever the flavour of Linux you may use. The one drawback is when there are times that you want or need an update before it can be pushed out of the distribution’s update channels. The application’s inbuilt update mechanism is likely disabled, and the distro maintainers are rightly testing the update — but you need to have that update today.
Typically that would involve going to the application’s website and downloading the update, but for Firefox and Thunderbird users, Mozilla hides away its x86_64 builds on its ftp server; if you go to the regular download page and click on Linux, you will be given the 32-bit build.
The magic url to get at the 64-bit goodness is: ftp://ftp.mozilla.org/pub/[firefox|thunderbird]/releases/[version]/linux-x86_64/[language]
For instance, the URL for the UK English build of Firefox 8 is ftp://ftp.mozilla.org/pub/firefox/releases/8.0/linux-x86_64/en-GB/.
Once you have downloaded the archive and extracted it, you’ll need to run the program. Now you could simply run directly the executable in the directory “./firefox”, or we could use a script that Mozilla provides to set up the environment variables: ./run-mozilla.sh ./firefox
The only caveat for using the run-mozilla script is to make sure you use “./firefox”, as otherwise it will call the old install of Firefox that lives in your PATH.
This doesn’t mean that if we have a 32-bit executable, then we cannot run it on a 64-bit distribution, but it does mean that some extra installs are needed. Here’s the list of packages that I needed to install on my Fedora 16 machine to get 32-bit Firefox working:
atk-2.2.0-2.fc16.i686
audit-libs-2.1.3-4.fc16.i686
avahi-libs-0.6.30-4.fc16.i686
cups-libs-1.5.0-16.fc16.i686
gdk-pixbuf2-2.24.0-1.fc16.i686
jasper-libs-1.900.1-17.fc15.i686
keyutils-libs-1.5.2-1.fc16.i686
krb5-libs-1.9.1-18.fc16.i686
libXcomposite-0.4.3-2.fc15.i686
libXinerama-1.1.1-2.fc15.i686
libXrandr-1.3.1-2.fc15.i686
libcom_err-1.41.14-2.fc15.i686
libtiff-3.9.5-1.fc16.i686
These packages are all duplicates of 64-bit packages already on the system.
Running a build directly from Mozilla will remove a certain level of integration with your desktop environment; for instance, I found that Thunderbird did not use GNOME 3 notifications, as it preferred its own mechanism for that. Other plug-ins, such as Flash, could also not be found by the downloaded version of Firefox.
I restored the plug-ins by making a symbolic link from the plug-ins directory to the directory where Firefox was installed:
ln -s /usr/lib64/mozilla/plugins ~/firefox/
After some intense discussions earlier this week with Firefox about its latest fetish for eating my system’s memory, I found the Firefox update not as hungry as its predecessor — which is well worth the minor issues of not having a distribution’s official approval.