Compiling Audacity 1.3.12 on Windows 2000

I'm not a world-class programmer by any stretch of the imagination, but wanting to get involved with Audacity gave me the opportunity to learn a whole lot. One reason for this was the machine I had elected to be used for the developing stuff, quite dated like all my computers and running Windows 2000. Normally the Windows build of Audacity is compiled using Visual Studio 2008 or at least Visual C++ 2008 Express Edition, plus a halfway recent Platform SDK (or Windows SDK as it's called nowadays). None of all this will run on 2000, however. So how does one pull it off anyway? Read on to find out how I did.

Hardware used

Here's the setup, which was my main machine many moons ago until I moved to the duallie realm. It still received the occasional upgrade over the years.

This has a certain geek flair (you don't see the big heatsink and 92 mm fan on the CPU or the system drive decoupling and cooling setup) but would prove a little tight, memory and system drive space in particular. (You normally want some 300 .. 400 megs of free RAM.)

If you want to do yourself a favor, make sure the system is rock solid and shows no memory problems when tested with e.g. Memtest86+. I only found out about two bit errors that had developed in one of the memory modules (the larger one, of course) after I'd ordered and installed an additional one! That left the machine with as much memory as before, but no defective memory cells this time... I promptly recompiled Audacity to make sure that there weren't any errors as a result of the memory problems.

Software used

This is what I ended up using software wise, most of which was installed from scratch (plan on using like 4 or 5 GB in the end, which includes almost 1 gig for Audacity alone):

Some of the above need their paths registered in Visual Studio (bin directories can also be appended to the system search PATH).

If you disabled 8.3 file name creation for performance reasons using fsutil behavior set disable8dot3 1 in the past, better revert this before getting started. It gave me problems with MS Keyboard Layout Creator 1.3 (compile failed as the path parser in the executable used seems to be of the oldfashioned variety), and I think the problems I initially had when trying to compile wxWidgets also were rooted there.

Getting the system up to date

I had never bothered to update Internet Explorer to version 6.0 on this system, since I don't use IE anyway. No way around it if you want to install VC++ 2005. (Why did they do away with re-opening Explorer windows after a restart? I thought that was a nice feature. Still works with IE5, doesn't with 6.) WSUS Offline proved a useful tool in getting the system updated. Talk about an awful lot of reboots.

Compiling wxWidgets

The usual first step before trying to compile Audacity itself. Since I got 2.8.11 which wasn't officially in use at this time yet (1.3.12 is normally built using 2.8.10), the supplied modified files were of no use. It turned out that replacing access.cpp was no longer necessary (the bug that had prompted the patch was fixed in 2.8.11), but the setup.h modification as outlined in this older version of the "Compiling on Windows" article had to be carried out. Nothing too much out of the ordinary so far.

Compiling Audacity

Getting Audacity 1.3.12 itself to compile proved to be a bumpy ride. Here's the issues I ran into and how I eventually resolved them.

General issues:

And now, the inevitable issues related to my Seriously Antiquated Build Environment (SABE):

If you install the DirectX SDK only after you've already tried compiling Audacity, be sure to rebuild PortAudio and PortMixer.

That's it!

All of this took me at least four days. The reader will hopefully succeed a bit more quickly.

Contact me

Created: 2010-05-29
Last modified: 2010-05-30