Firefox issues

My browser is now out of date, or so says my WordPress blog installation. Other places tell me that as well, on occasion. I am running the equivalent of Firefox 9. I am learning that for branding reasons, and because my Firefox was an “unofficial build” (I “built” it from source without really changing anything, but I understand the logic), they call a Firefox installation which anyone installs themselves “Aurora”. Kind of like the original stripped-down (read crippled) incantation of Firefox that came with Debian, which they had to call “Iceweasel”. I was not at all happy with Iceweasel, and glad I got rid of it.

But installing Firefox (the real one, from binary) had its own issues. It kept complaining that it “couldn’t load xpcom” and nothing seemed to fix it. This seems to be a very popular error over the Internet, and there seems to be varying sources for the error, such as an unclean uninstall of old firefox versions, or not adding /usr/lib to your $LD_LIBRARY_PATH environment variable.

Using the source and installing Aurora got rid of all that nonsense, without needing to uninstall Iceweasel at all. But it seems that now, in order to update Aurora, I need to recompile another source bundle, and remove the previous install. Sucky.

Use the Source, Luke: A followup

The compile finished an hour before the turkey, and the result is a kind of “good news/bad news” affair. The good news is that the turkey went quite well, and the stuffing was out of this world. Firefox ran, too, and I was even able to sync my bookmarks with my laptop.

The bad news is, is that even though the source tarball clearly says “firefox-9.0.1.source.tar.bz2” as its filename, I seemed to have compiled Aurora, which is an alpha version of Firefox. It certainly explains the odd bit of weird behaviour. Other than that, it walks, talks, and looks like Firefox but for its icon and trademarks. 9.0.1, however, is running on this browser I’m using, and it was from a binary install. This one is called “firefox”.

I have downloaded an earlier version to see if it suffers from the same problem, a version 8. There doesn’t seem to be any clues to me as to what to expect after the two or so hour compile. After I do a “make install”, what do I get? I look in the README.txt, some source files, I don’t see anything outright that would betray its identity. Not much of help on their community portals either. The only thing I can think of is that maybe all source is labelled as “aurora” source. The version 9.0.1 source had been kept, and so had the binary. But we shall see once version 8.0 is compiled.

Then, I discovered a version 3.6.25, compiled only two weeks ago. But after hunting around on the net as to this anomaly, I find that this is due to Firefox’s rapid release cycles (they have moved up 6 full version increments in one year), and that there are still people using version 3.x on their computers. So, I am likely doing the right thing by hovering with 8.0 and 9.0 versions. It’s just that I appear to be getting the beta source. And indeed, the proof being in the running, version 8 is indeed called Aurora also.

Using the source, Luke: Compiling Firefox

My PC is one of those dual-cores from about 5 or so years ago with about 4 gigs of RAM and enough hard drive space that I don’t have to worry about running out of room any time soon. I installed the latest UBUNTU as a second operating system (XP is running on another partition), but became dissatisfied with its overly-simple interface and its hard-to-find terminal. In fact, anything that would have been called a menu system seemed impossible to configure. So, I ripped it out and installed Debian. Yeah, the software is always a version or two behind, but at least I have a guarantee of it working.

Except one thing. Debian didn’t seem to come with a web browser I liked. I wanted Firefox, since there will be a chance of syncing the menu system with my other machines. The binary downloaded from the Firefox website wouldn’t start, since it couldn’t find a library that was indeed on my system, it just wasn’t placed where Firefox was looking. So, to me that only meant one thing …

If you want a software to do anything right, you need to compile the source code yourself and build your own binary on the machine it will run on. And that’s one of the powerful advantages of open source software, and it is the whole reason why the source code is freely available. It is an essay in patience, but once it works correctly, it is always worth the extra trouble. In the source code for Firefox, I needed to use ./configure several times. Each time it reported an error of some kind, it was due to a missing package. I installed it using apt-get install <packge-name>, and there were several that were missing. I would suppose the reason so many were missing was because my Linux installation was not configured for “development” purposes (an oversight on my part). But once ./configure ran without error, I was able to do a “make”. And now the wait.

I recall back in the mid-90s, when I first used Linux on a 486, and I was compiling the kernel, I recall it took, on a 80486-DX2-100 processor with maybe 4 megs of RAM, about 5-6 hours to compile a proper kernel. At the time, that was the biggest compilation job commonly done on Linux systems, and was a rite of passage for any computer nerd, and probably still is. Things are easier nowadays with kernel modules in the version 2 and 3 kernels, since compilation is rendered almost un-necessary. Well, about an hour into the compilation of Firefox, it is still chugging away at the compilation of source code — sometimes C/C++, sometimes python, and it seems assembler at times (not sure). On 4 gigs of RAM and a dual-core processor, one would think that I wouldn’t have time to write this article (which is exactly what I am doing while I’m waiting), or at least to write this much verbiage over so long a period. But so far, the good news is that there are no serious compilation errors that would have caused the make to bail out.

Of course, I have better things to do than to compile Firefox and write about it on my blog. I am also roasting a turkey. The turkey will be ready to eat in about two hours from now. It will be interesting to see which will finish first: the turkey or my Firefox compilation. I’ll keep you posted. Right now, it is about time for its basting. The turkey, that is.