Developing On Linux Under Windows

From Audacity Wiki
Jump to: navigation, search
These are notes about one possible way for a 'Windows' user to compile and run Audacity under Linux, running Linux as a Windows application. This may be useful for Windows developers who want to try out Linux. You will need a reasonable internet connection to do this in a reasonable time.

Written by a non-expert on Linux, so this may not be the easiest way, but I have got audio playing...

I am assuming that you want the unicode debug version.

This is supposed to be a companion for The developing on Linux page

Get Portable Ubuntu

Download from and run the .exe file you get. Put it in a sensible place.

Run Portable Ubuntu

Browse to the place that you put the 'Portable_Ubuntu' directory and double-click the 'run_portable_ubuntu.bat' file. This starts the application (after a few seconds). You will have a toolbar at the top of your normal XP Windows screen. I have found it best to run this when your system isn't busy with 'other stuff'.

May not be so simple on Windows 7, compared to XP. I set TrayRun.exe to run in 'Windows XP (Service Pack 3)' mode and ran 'run_portable_ubuntu.bat' from a dos prompt in 'C:\Audacity\Portable_Ubuntu' to make it work. 'Maybe' I mucked with some other stuff as well. Please update this if you have a clear idea.

Get a browser going

On your 'windows' system or you new 'PU' system. Just note that 'Ctrl+C' is 'copy' on Windows and Linux, but and 'Shift+Insert' is 'paste' on Linux (not 'Ctrl+V').

On PU, click the Firefox symbol on the toolbar to start Firefox under Linux. Locate this page in your new browser and continue from there.


You will need SVN on your new Linux system so that you can get the Audacity source (all recommendations are not to use the same source checkout on Windows and Linux, for line-ending reasons if nothing else).

SVN is probably already installed. If not, seek help on audacity-devel, or elsewhere.

Get Audacity from the SVN repository

Open a terminal window (Applications -> Accessories -> Terminal) and paste in:

svn checkout audacity

and / or see

If you do 'ls -l' at the prompt you should now see that you have an 'audacity' directory.

If you are updating a previous version use:

svn update audacity

Make wxWidgets available

Follow (you probably found this anyway, since you are following at the same time aren't you?). Copy and paste the first instruction starting 'curl'. But you'll get an error message as 'curl' isn't installed, so 'sudo apt-get install curl' in the terminal and then try again.

At step 2 you need to edit a file. Applications -> Accessories -> Text Editor. Open etc/apt/sources.list and edit as advised. Note that your DIST is 'hardy'. Save. Doh! You can't save it as you don't have permission. Close the text editor. Go to the terminal prompt and type 'sudo gedit' and try again. I found this the hard way. 'sudo' gives you superuser access, 'gedit' is the name of the text editor (it was in the title bar).

Do step 3.

Ignore step 4.

Get needed build tools etc

The first time I did this I did them one by one with Synaptic. Thanks to Benjamin Drung for the line:

sudo apt-get build-dep audacity

which appears to work out everything that you need (make sure you've closed Synaptic). However it gets wxWidgets 2.6 instead of 2.8. I used Synaptic to remove the 2.6 versions and install libwxbase2.8-0, libwxbase2.8-dbg, libwxbase2.8-dev, libwxgtk2.8-0, libwxgtk2.8-dbg and libwxgtk2.8-dev. I hope that is correct.

You may also need 'automake' from Synaptic. Apparently 1.10 is needed but the list (here) only goes up to 1.9. The entry 'automake' appears to be 1.10 (renamed). I got that but I don't know if it's required.

Configure and make


cd audacity

./configure --with-libvorbis --with-libflac --with-libid3tag --with-soundtouch --enable-debug

(wait a while)


(wait a bigger while) Part way through this process I ran out of disk space on my virtual Linux (1.8G wasn't much really). I followed the instructions at -> How to change the file system size - Method 2

restarted PU, finished the instructions (there should be a way to get out of su here, but I don't know what it is), cd audacity and then did 'make' again

Run Audacity


This works for me, and I'm seeing 'ALSA pulse' as devices these days. I get playback (but have not tested recording).

Modifying Audacity

If you modify a file:


If you modify #includes in files:

make dep; make

If you add or remove files:

./configure; make dep; make

Getting an IDE up and running

I pretty much followed the instructions at

I got KDevelop 3.5.4-1 from

noting that I have Ubuntu Hardy 8.04, and so followed the 'add this to sources.list and get with apt-get' part of the instructions (bottom of the first section). Then it's just 'kdevelop' at a terminal prompt to run it.

In the 'Configure Options' I set 'Configure Arguments:' to

--enable-debug=yes --with-libvorbis --with-libflac --with-libid3tag --with-soundtouch --with-portaudio=v19 --with-sbsms=no

(partly as I still have a broken sbsms, partly I wasn't sure portaudio defaults to v19, but I know it's needed).

In the 'Run Options' I set 'Executable' to


and 'Working Directory' to


and also checked the 'Automatically compile...' option, since that is what I am used to on VS.

I think I did have to apt-get libtool. That was pretty much it. It looks a lot like VS8 and works in quite a similar way (from my minimal poking about).

Things I haven't got to

Other IDEs. Dan also suggested

Please feel free to improve/update these notes with anything you have been successful with!