Friday, May 05, 2006

Things I've learnt...

... which isn't all that useful for most of you.

And I forget things, or lose my notes. But look, here's a way for me to commit my findings in a place that's easily accessible, and backed up more frequently than my own PC...

Just installed Fedora Core 4 Linux on my office PC. Because I've got that kind of time.

Linux is simply amazing now. Still remember the good old days when I was messing around with Slackware 5.0... Good times... Now the installation is effortless, and is faster than WinXP! I even have Chinese support, but I don't know how!

First order of business... The Firefox it came with was version 1.0.4.
Got version 1.5.0.3 from http://getfirefox.com. The difference? With the new one, I can organise the tab windows around.

The download came in a tar.gz. I just need to unzip it somewhere and run.

1.0.4 is installed in /usr/lib/firefox-1.0.4.
I create an alternate directory to put the new one, make sure it works first before I burn the bridges behind me.
Click on the script. Didn't work. No error messages when I'm in the Gnome GUI.
So, pop into a sh terminal, and run the script from there.

sh-3.00# firefox

I get back the same Firefox 1.0.4.
There's a script in the /bin directory that's referencing the original Firefox.

sh-3.00# ./firefox
./firefox-bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

Ran a search for libstdc++.
Found libstdc++.so.6 inside /usr/lib

Ok... where to make Firefox 1.5.0.3 use the new library... Nothing in the .properties file. No obvious configuration file anywhere. Grab the source for Firefox and recompile the thing myself, and point everything at the appropriate libraries?? Hell no.

Well... Just fool it then.
sh-3.00# ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5
When Firefox looks for libstdc++.so.5, let the operating system point the way to so.6 instead.

sh-3.00# ./firefox
./firefox-bin: /usr/lib/libstdc++.so.5: version `GLIBCPP_3.2' not found (required by ./firefox-bin)
./firefox-bin: /usr/lib/libstdc++.so.5: version `CXXABI_1.2' not found (required by ./firefox-bin)
./firefox-bin: /usr/lib/libstdc++.so.5: version `GLIBCPP_3.2' not found (required by ./libxpcom_core.so)
./firefox-bin: /usr/lib/libstdc++.so.5: version `CXXABI_1.2' not found (required by ./libxpcom_core.so)
./firefox-bin: /usr/lib/libstdc++.so.5: version `GLIBCPP_3.2' not found (required by ./libxpcom_compat.so)

Still doesn't work...
Some search-fu later:
http://ayo.freshrpms.net/fedora/linux/4/i386/RPMS.core/compat-libstdc++-33-3.2.3-47.fc4.i386.rpm

Now it's OK.

Just delete the old Firefox, and edit /usr/bin/firefox, change all references to the old Firefox directory... And I'm done.

No comments: