Friday, June 24, 2011

CentOS 5.x FireFox 5 working install

UPDATE: FireFox 6.0 does not require the hack below!

If you are getting the error
firefox-bin: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/firefox5/libxul.so)
You have come to one of the correct places. This is a continuation of the FIreFox 4 install. Again, I did not come up with this on my own! I just want to spread the word as much as possible that one very enlightened fellow referenced as "rkl" at forums.mozillazine.org has made it possible for the rest of us to hit the "easy button" and get FireFox 4.0 working on CentOS 5.x (CentOS 5.5 at this time). HERE is the original link that I lucked upon while trying to google it on my own.

This is my mostly plagiarized summary based on the original FF4 information for the link above. My testing was specifically done on CentOS 5.6 32bit desktop install:
1. Unpack the Firefox firefox-5.0.tar.bz2 somewhere (e.g. /opt/firefox5). A quick way to get the tar file is from the mozilla EN download link.

2. Download this 32-bit Fedora 9 libstdc++ RPM and unpack it with this command:

rpm2cpio libstdc++-4.3.0-8.i386.rpm | cpio -i --make-directories

3. Move the unpacked shared library into /opt/firefox5:

mv usr/lib/libstdc* /opt/firefox5/

Note: It's "usr/lib/libstdc*" above (i.e. the unpacked tree from the RPM, not the system /usr/lib tree) - do NOT put a leading slash there!

4. Run Firefox 5 with:

/opt/firefox5/firefox

rkl references the FireFox 4 beta version, but all steps still apply for official FireFox 5 release.

I will say that FF5 is an incremental improvement from FF4. My initial usage has been positive. There seems to be a "follow the rapid release cycle of Google's Chrome" mentality. I hope this will not make it more difficult for organizations to break from the IE "standard".

5 comments:

  1. After following these steps I still get the error. I think it's still looking for the older .so file at /usr/lib instead of my new .so file at /opt/admin_apps/fiefox/firefox-5.0.1/firefox. How can I force it to pick this .so file from the correct location? Thanks!

    /firefox-bin: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/admin_apps/firefox/firefox-5.0.1/firefox/libxul.so)

    ReplyDelete
  2. What if you do "mv usr/lib/libs* /opt/firefox5/"? I forgot to correct that here. Otherwise, you can run "ln -s libstdc++.so.6.0.10 libstdc++.so.6" from your new firefox directory. Basically you will have either one *file* named "libstdc++.so.6" OR one symlink named "libstdc++.so.6" plus one file named "libstdc++.so.6.0.10" in your new firefox directory.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Thanks. Once I created the link, it worked. Then I went back and checked why it did not work before. It was a stupid mistake. When I copied the file, I for to rename libstdc++.so.6.0.10 to libstdc++.so.6. Thanks for posting this nice How To.

    ReplyDelete
  5. Thanks.
    I was able to execute FF 5.0.1 following your step. Since my environment is RH5.0 64 bit, I downloaded the 64 bit libstdc++.so.6 and it was failed. I downloaded the lib from your link and FF is working fine.

    ReplyDelete