Developing On Linux Under Windows

From Audacity Wiki
(Redirected from Linux Under Windows)
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

Contents

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 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 https://web.audacityteam.org/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!

Personal tools

Donate securely by PayPal, using your credit card or PayPal account!