Developing On Linux Under Windows

Get Portable Ubuntu
Download from http://portableubuntu.demonccc.cloudius.com.ar/ 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 web 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.

Get SVN
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 http://audacity.googlecode.com/svn/audacity-src/trunk/ audacity

and / or see http://audacity.sourceforge.net/community/developers#svn

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 http://audacity.googlecode.com/svn/audacity-src/trunk/ audacity

Make wxWidgets available
Follow http://wiki.wxpython.org/InstallingOnUbuntuOrDebian (you probably found this anyway, since you are following http://audacityteam.org/wiki/index.php?title=Developing_On_Linux 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
Following http://audacityteam.org/wiki/index.php?title=Developing_On_Linux

cd audacity

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

(wait a while)

make

(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

http://portableubuntu.demonccc.cloudius.com.ar/ -> 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
./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:

make

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

http://www.crotchett.com/kdevelop/index.html.

I got KDevelop 3.5.4-1 from

http://www.kdevelop.org/index.html?filename=3.5/download.html

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

/home/pubuntu/audacity/audacity

and 'Working Directory' to

/home/pubuntu/audacity

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

http://www.anjuta.org

http://www.eclipse.org

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