While trying to resolve my “when should I retire a computer” dilemma, I realized I might not need to spend any money at all. After all, my overengined Windows desktop has plenty of capacity. Tonight, I found out how much.
Yesterday, I removed the Windows partition on one of my hard drives and replaced it with Fedora 13. After system updates, I did the following:
- Downloaded ccache source code directly from ccache.samba.org. (Fedora’s ccache is version 2.4. This one is version 3.1.)
- Unpacked ccache and installed it:
tar -xzf ccache-3.1.tar.gz cd ccache-3.1 sh configure make su make install exit
- Added
ac_add_options --with-ccache
to my .mozconfig - Built a first pass of mozilla-central:
cd mozilla make -f client.mk configure cd ../fx-opt time make -j4
Total time: approximately 20 minutes. Finally, it runs fast enough for me not to worry.
- Moved the old objdir to a new folder and repeated the previous steps exactly.
The total time on that is astonishing:
real 3m39.293s user 3m49.130s sys 1m53.586s
Given builds in less than four minutes, I should’ve done this a couple years ago. A couple other thoughts:
- I tried pymake -j4 as suggested in my previous blog post, but it failed to build.
- I actually tried to avoid putting Fedora on the same box as my Windows system, thanks to the inconvenience of a boot loader before. With the computer I have now, it turned out to be a non-issue. The system still defaults to booting Windows, and by hitting F10 at boot time, I can tell it to boot Fedora instead by selecting the second hard drive.
- I don’t think I need a solid state drive anymore…
- Nor do I think I need to try tinkering with a RAM drive.
- Anyone interested in a rarely-used Linux box built three years ago? Windows not included. I am willing to donate to a good cause…
- I think I’m gonna have fun with this thing.
re pymake, what error did you have? Could you pop into #pymake and ask about it? Spending a little time getting pymake to work is worth it on Windows, IMO.
If you build it, fast `make -j`s will come. Or something like that.
I recently replaced my old dual-core Pentium E2220 with a Xeon X3440, which is the cheapest quad-core chip with hyperthreading. Plus an extra 4GB of RAM while I was at it. The combination of extra cores, extra RAM, and hardware acceleration for VirtualBox meant that clean build times dropped by a factor of five(!). Best money ever spent…
The trick to getting pymake to work on Windows is to use relative paths in your mozconfig.
For example my mozconfig lives in $srcdir, and it’s:
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
ac_add_options –enable-debug
ac_add_options –disable-optimize
ac_add_options –enable-tests
re: ccache, I’m trying it now 🙂 I wonder if we do or can use this on the tinderbox build machines?