Installing Audacity SVN on Ubuntu 14.0.4 from scratch

Note that these instructions are for advanced users and not intended for general use.
installing the Audacity development code is not recommended for a production environment.

Linux users should usually use the version of Audacity that is shipped with their distribution.
For production work, if you require the latest version of Audacity, please use the official release tarball, available here: http://audacityteam.org/download/source and the installation instructions on the Audacity wiki: http://wiki.audacityteam.org/wiki/CompilingAudacityForBeginners

Installing Audacity SVN (alpha) on Ubuntu 14.04, from scratch.
This is a step-by-step guide to installing the current development code on Ubuntu 14.04 (the latest release version of Ubuntu at time of writing).
The step descriptions assume basic familiarity with computers and using Linux, including a basic understanding of entering commands via a terminal window.

The steps below are for a full installation of Audacity, including optional support for MP3 encoding.
Note that FfMpeg is not currently supported because Ubuntu 14.04 does not include FfMpeg in its repository. I’ll add some work-around options later when/if I have time :wink:

  • Install Desktop Ubuntu 14.04. (http://www.ubuntu.com/download/desktop/install-ubuntu-desktop)
  • Enable 3rd party software (or enable 3rd party sources after installation).
    • Download updates (optional but it probably saves time and bandwidth to do it now).
  • Run “Software Updater” to bring the installation up to date (should be much quicker [less slow] if “Download Updates” was enabled during installation).
  • Check your video card drivers. By default Ubuntu makes heavy use of graphics acceleration, which can cause extremely poor performance if your video card drivers are flaky. Proprietary drivers are available for many video cards and will often provide better performance than their open source alternatives.
  • There are many other optimisations and customizations that can make a huge performance difference. Google is your friend :wink:

Check that Ubuntu is working correctly, including sound, before continuing.

Installing prerequisite packages:

To download a local copy of the SVN source code you will need to install Subversion:

sudo apt-get install subversion

To install the necessary dependencies:

sudo apt-get build-dep audacity

Download (“checkout”) the Audacity SVN source code:

svn checkout http://audacity.googlecode.com/svn/audacity-src/trunk/ audacity-read-only

“audacity-read-only” is the name of the folder that the source tree will be downloaded into. It can be any valid folder for which you have full read/write/execute permission, so usually you would choose your home folder or a subdirectory of your home folder.

When the download is complete, change to the new folder:

cd audacity-read-only

Building Audacity:

The first task is to configure the build. This is mostly automatic, though because FFmpeg is not available we will configure the build without FFmpeg support:

./configure --without-ffmpeg

Have a look through the end of the output. It should look very much like:

configure: ---------------------------------------
configure: Including support for OSS
configure: Including support for ALSA
configure: ---------------------------------------
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating px_tests/Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands

Finished configure:
EXPAT: using SYSTEM libraries
FFMPEG: disabled
LAME: using SYSTEM libraries
LIBFLAC: using SYSTEM libraries
LIBID3TAG: using SYSTEM libraries
LIBMAD: using SYSTEM libraries
LIBNYQUIST: using LOCAL libraries
LIBRESAMPLE: disabled
LIBSAMPLERATE: disabled
LIBSBSMS: using SYSTEM libraries
LIBSNDFILE: using SYSTEM libraries
LIBSOUNDTOUCH: using SYSTEM libraries
LIBSOXR: using SYSTEM libraries
LIBTWOLAME: using SYSTEM libraries
LIBVAMP: using SYSTEM libraries
LIBVORBIS: using SYSTEM libraries
LV2: using LOCAL libraries
PORTAUDIO: using SYSTEM libraries
PORTSMF: using SYSTEM libraries
WIDGETEXTRA: using LOCAL libraries
ladspa: enabled
audiounits: disabled
prefix=/usr/local/

Run 'configure --help' for an explanation of these options,
otherwise run 'make' to build Audacity.

If there are problems (for example, it does not complete successfully, or support for ALSA is missing) then the configure can be “undone” with:

make distclean

and then run again with the output recorded in a file:

./configure --without-ffmpeg 2>&1 | tee MyConfigureLogFile.txt

and the output will be redirected to: “MyConfigureLogFile.txt”
Note that .configure makes a “config.log” file without this additional log, so avoid using that as the file name.

Now time to build. This can take a while:

make

Again, if there are problems this can be undone.
To undo just the “make”:

make clean

To undo the “make” and the “./configure”

make distclean

Running make with full logging:

make 2>&1 | tee MyBuildLogFile.txt

If the build completes successfully Audacity can then be launched with:

./src/audacity

Audacity could then be installed, but as this is not intended to be for production work it may be better not to :wink:


Building optional modules:
These modules are not currently included in the release version and currently should be considered “experimental”. They are not guaranteed to work and may expose security vulnerabilities.

In the /lib-src folder are a few optional modules:
mod-nyq-bench http://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference#Rebuilding_Audacity_and_Nyquist_Workbench
mod-script-pipe http://manual.audacityteam.org/o/man/scripting.html
mod-track-panel ???
mod-null ???

Both mod-nyq-bench and mod-script-pipe should build in much the same way:

Building mod-nyq-bench:
Change to the mod-nyq-bench directory:

cd lib-src/mod-nyq-bench

and build it:

make

There’s not much output, just;

g++ -Wall -O9 -DAUDACITY_DLL_API= -I../../src    -Wall -pthread -I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/harfbuzz   -I../../lib-src/portmixer/include   -Wall -I../../lib-src/FileDialog                  -I../../lib-src/libnyquist -I/usr/lib/i386-linux-gnu/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread -fPIC   -c -o NyqBench.o NyqBench.cpp
g++ -ldl   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype   -lasound -ljack -lpthread   -lrt -shared -o mod-nyq-bench.so NyqBench.o

mod-nyq-bench.so has been copied to ../../modules

On restarting Audacity, the “Nyquist Workbench” should now be listed in the View menu.

There are links here for the two workarounds I know:

These links will appear in the Manual for the next (2.0.6) release of Audacity.


Gale