Talk:Building On Mac

From Audacity Wiki
Jump to: navigation, search

Historical Instructions

This is obsolete patching information. Maintaining it as we may add focus rings etc back.

Using wxWidgets from wxWidgets

Rather than downloading our patched wxWidgets, you can download 3.0.2 and patch it yourself

  Apply the following fixes to wxWidgets:
   cd wxWidgets-3.0.2
   patch -p0 -i <path to Audacity source>/mac/wxMac_additions/wxMac-3.0.2-fixes.patch .
   patch -p0 -i <path to Audacity source>/mac/wxMac_additions/eventloops.patch .
   patch -p0 -i <path to Audacity source>/mac/wxMac_additions/pinch-spread.patch .
   patch -p0 -i <path to Audacity source>/mac/wxMac_additions/focusrings.patch .
   patch -p0 -i <path to Audacity source>/mac/wxMac_additions/wxMac-3.0.2-wxaccessible.patch .
   patch -p0 -i <path to Audacity source>/mac/wxMac_additions/tooldock-quit.patch .
   patch -p0 -i <path to Audacity source>/mac/wxMac_additions/fullscreen.patch .
The patches and their reasons can be found here, and there is more description about them here in the wiki.

Warning icon This page is now historical. Please use Mac/Build.txt in our source code.
This guide will help you establish a working development environment then build a Universal Binary of Audacity on OS X Leopard, Snow Leopard, Lion or Mountain Lion.

The steps also work on Mavericks updated from earlier OS X but may not work on Mavericks installed as first operating system.

The steps detailed below are focused on getting you building Audacity as quickly and easily as possible, but you may use the environment for general development as well.
Warning icon
  • Xcode 4 (steps 2 and 7) is not required on Leopard and Snow Leopard. Xcode 4 is strongly recommended on Lion or later (it is required on those systems for MacPorts, Fink and almost any other package management or development-related product).
  • These steps do not apply patches required to produce a build of Audacity for public release. See Release Process/Mac for details.

Download Xcode 3.x

To download Xcode, you will need to register at the Apple Developer site:

Once registered, the available downloads are located here:

Xcode 3.2.6 is the last version that officially supports the PPC architecture and the macosx10.4u SDK. Unless you're building release versions, the PPC support isn't absolutely necessary, but the SDK is required.

If you are running Leopard, then enter "Xcode 3.1.4" in the search box on the left, press enter, and download the "Xcode 3.1.4 Developer DVD" dmg.

If you are running Snow Leopard or newer, enter “Xcode 3.2.6” in the search box on the left, press enter, and download the “Xcode 3.2.6 and iOS SDK 4.3” dmg:

Bom xcode 326 download.png

Download Xcode 4.5.2

  • Tiger, Leopard and Snow Leopard users should skip this step.
  • On Lion or Mountain Lion you may install any 4.x version of Xcode greater than 4.3.x (or on Mountain Lion 10.8.4 or greater you may install Xcode 5.x) but at the time this guide was written 4.5.2 was the latest and other versions may not work as outlined here.
Warning icon If you get Audacity building following the steps in this article then upgrade to Mavericks, you must install Xcode 5.0 or greater in order to continue building Audacity. Note that installing Xcode 5.x from the App Store will remove Xcode 4.x.

Enter “Xcode 4.5.2” in the search box on the left, press enter, and download the “Xcode 4.5.2” dmg:

Bom xcode 452 download.png

Enter “Command Line Tools” in the search box on the left ("try "command" if you get no results), press enter and download the latest “Command Line Tools” dmg that corresponds to your version of OS X:

Bom tools 452 download.png

Download wxWidgets

You must download the wxMac version 2.8.12 of wxWidgets from:

Bom wxwidgets 2812 download.png

Download the "Build wxwidgets.gz" script that will be used to build wxWidgets for use with Audacity. Make sure you save the file as "Build_wxwidgets.gz". Safari will automatically uncompress the file, others may not.

Download cmake

Download the latest Unix/Linux source version of cmake from:

Bom cmake download.png

Download pkg-config

Download the latest version of pkg-config from:

Bom pkg-config download.png

Install Xcode 3.x

Locate the previously downloaded Xcode 3.x dmg on your system and double click it to have Finder verify and mount it:

Bom xcode 326 mount.png

The Xcode 3.2.6 installer checks the version of OS X that is currently running and that check will not succeed on versions above Snow Leopard. However the version check can be bypassed by starting the installation from the command-line.

It is advisable to have all OS X updates applied to your system before installing Xcode 3.x. This is especially important for Lion users otherwise the installation will fail.
Warning icon On Lion and Mountain Lion, the "Security & Privacy" section of System Preferences must be temporarily set to allow applications downloaded from "Anywhere", or Gatekeeper will prevent the package being opened.

Open a Terminal window and start the installation by entering the following commands:

For Leopard:

open "/Volumes/Xcode Tools/XcodeTools.mpkg"

For Snow Leopard or newer:

open "/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg"

Bom xcode 326 install.png

This will start the installation while bypassing the version check.

On Mountain Lion, the installer needs to restart itself:

Bom xcode 326 restart.png

And, since the Xcode 3.2.6 certificate has expired, you will be asked to accept it:

Bom xcode 326 cert.png

You will then get to the normal installation process:

Bom xcode 326 installer.png

Proceed through the various installation pages until you get to the “Custom Install” page:

Bom xcode 326 custom install.png

Open the Essentials item by clicking the arrow:

Bom xcode 326 options.png

The minimum required options are “Unix Development” and “Mac OS X 10.4 SDK”, but if you're running Snow Leopard, you may elect to install everything. On Lion or above, you will not be able to use “System Tools” and may choose to use the “iOS SDK” and “Documentation” from Xcode 4.5.2:

Bom xcode 326 selected options.png

Continue through the pages to start the installation.

On Mountain Lion, you will be prompted to stop iTunes near the end of the installation:

Bom xcode 326 itunes.png

To terminate the process and allow the installation to complete, open a Terminal window and enter:

sudo killall iTunesHelper

Bom xcode 326 ituneshelper.png

Close the installer when complete:

Bom xcode 326 complete.png

then eject the Xcode 3.x dmg.

The first time you use Xcode you will be prompted to install Java if you do not have it installed already. So, use Finder to navigate to the "/Developer/Applications" folder, by selecting "Go to folder" from the "Go" menu in Finder:

Bom audiacty build xcode goto.png

Enter "/Developer/Applications" for the path and click "Go":

Bom audiacty build xcode folder.png

Now double-click the "Xcode" application to start it:

Bom audiacty build xcode start.png

At this point you may prompted to install Java:

Bom audiacty build xcode java.png

Wait for the installation to complete and quit Xcode.

This completes the Xcode 3.x installation.

Install Xcode 4.5.2

Leopard and Snow Leopard users should skip this step.

Locate the Xcode 4.5.2 dmg, xcode4520418508a.dmg, on your system and double click it to have Finder verify and mount it:

Bom xcode 452 mount.png

The Xcode folder will open when it's mounted:

Bom xcode 452 folder.png

You may choose to drag the Xcode app to wherever you like, but this guide expects it to be located in the Applications folder:

Bom xcode 452 copy.png

Locate the Command Line Tools dmg, xcode452cltools10_76938212a.dmg, on your system and double click it to have Finder verify and mount it:

Bom tools 452 mount.png

The Command Line Tools folder will open:

Bom tools 452 folder.png

Start the installation by double clicking the installer, “Command Line Tools (Lion).mpkg” in this case:

Bom tools 452 installer.png

Once the installation completes, close the installer:

Bom tools 452 complete.png

and you may eject the Command Line Tools .dmg.

In the Terminal window, enter:

sudo xcode-select -switch "/Applications/"

Bom xcode 452 switch.png

You will be asked to enter your password:

Bom xcode 452 switched.png

To make it a little easier to use Xcode 3.2.6 from the command-line, create a link to the 3.2.6 version of xcodebuild. You make change the "xcodebuild3" to whatever you like, just remember when building Audacity from the command-line to use what you specify here:

sudo ln -s /Developer/usr/bin/xcodebuild /usr/bin/xcodebuild3

Bom xcode 452 xcodebuild3.png

This completes the Xcode 4.5.2 installation.

Install cmake

In the Terminal window, extract the cmake archive if it was not extracted on download (modify the cmake version number in the command if needed):

tar xf ~/Downloads/cmake-

Now change to the directory of the extracted cmake:

cd cmake-

or if you had already extracted cmake:

cd ~/Downloads/cmake-

Configure cmake:

./configure --prefix=/usr/local --docdir=/share/doc/CMake --mandir=/share/man

Bom cmake configure.png

Build cmake:


Bom cmake build.png

Install cmake:

sudo make install

Bom cmake install.png

This completes the cmake installation.

Install pkg-config

As with cmake, use the Terminal to extract the pkg-config archive and change to the extracted directory:

tar xf ~/Downloads/pkg-config-0.27.1.tar
cd pkg-config-0.27.1

Bom pkgconfig extract.png

or if you already extracted pkg-config, change to that extracted directory:

cd ~/Downloads/pkg-config-0.27.1

Now configure pkg-config:

sh configure --with-internal-glib

Bom pkgconfig configure.png

and build pkg-config:


Bom pkgconfig build.png

Install pkg-config:

sudo make install

Bom pkgconfig install.png

This completes the pkg-config installation.

Install wxWidgets

In the Terminal, extract the wxWidgets source if not already extracted:

tar xf ~/Downloads/wxMac-2.8.12.tar

Bom wxwidgets 2812 extract.png

Change to the extracted directory:

cd wxMac-2.8.12
cd ~/Downloads/wxMac-2.8.12

Bom wxwidgets 2812 cd.png

Start the build. This assumes you downloaded the Build_wxwidgets script to your Downloads directory:

sh ~/Downloads/Build_wxwidgets

Bom wxwidgets 2812 build.png

After all configurations are built, you will be prompted for your password. Watch the build for the password prompt, because if the requests for a password time out, you'll have to build again:

Bom wxwidgets 2812 install.png

All configurations have been built and installed: ~/Downloads/wxMac-2.8.12 ~/Downloads/wxMac-2.8.12/bld_release_shared ~/Downloads/wxMac-2.8.12

Bom wxwidgets 2812 complete.png

To verify, list the installed configurations:

wx-config --list

Bom wxwidgets 2812 list.png

Make sure you see 1 default configuration (mac-unicode-release-2.8) and 3 alternates:

Bom wxwidgets 2812 installed.png

wxWidgets installation is now complete.

Create links

To make it easier for Xcode to find the cmake, pkg-config, and wx-config, create links to them in the Xcode developer tree:

sudo ln -s /usr/local/bin/pkg-config /Developer/usr/bin
sudo ln -s /usr/local/bin/cmake /Developer/usr/bin
sudo ln -s /usr/local/bin/wx-config /Developer/usr/bin

Bom create links.png

Download Audacity

Now that everything is in place, we finally get to the whole purpose of this exercise, building Audacity. But first, you must decide if you want to use the tarball or tagged source which gives you the current release of Audacity, or if you want to get the absolute latest development source (SVN HEAD).

Warning icon Remember that occasionally, SVN HEAD may not build becaue of development in progress, or if it does, there may be bugs.

Make your choice when downloading from here:

Bom audiacty build download.png

Once you have the source downloaded and extracted, you may use either the xcodebuild command-line utility or the Xcode 3.2.6 IDE.

The Audacity xcode project has four configurations defined:

Debug Static - disables optimization, enables debugging code, and links to static libraries
Debug Shared - disables optimization, enables debugging code, and links to shared libraries
Release Static - enables optimization, disables debugging code, and links to static libraries
Release Shared - disables optimization, disables debugging code, and links to shared libraries

So you'll need to select which one you want to use in the following steps, but "Debug Static" will be used for this guide.

Build with xcodebuild

To use the command-line utility, open a Terminal window, change to the Audacity mac directory, and start the build. If you didn't install Xcode 4.5.2 above, then use "xcodebuild" here in place of "xcodebuild3":

cd audacity/mac
xcodebuild3 -configuration "Debug Static"

Bom audiacty build xcodebuild.png

When it completes, you should get a "Build Succeeded" message:

Bom audiacty build xcodebuild complete.png

The newly built Audacity can be started from Finder, using gdb, or simply:

open "build/Debug Static/"

Bom audiacty build xcodebuild open.png

Build with Xcode IDE

To build Audacity using the Xcode 3.2.6 IDE, use Finder to navigate to the "/Developer/Applications" folder, by selecting "Go to folder" from the "Go" menu in Finder:

Bom audiacty build xcode goto.png

Enter "/Developer/Applications" for the path and click "Go":

Bom audiacty build xcode folder.png

Now double-click the "Xcode" application to start it:

Bom audiacty build xcode start.png

Open the Audacity Xcode project by selecting "Open" from the "File" menu in Xcode:

Bom audiacty build xcode open.png

Navigate to the "audacity/mac" folder and then double-click the "Audacity.xcodeproj" project:

Bom audiacty build xcode xcodeproj.png

Now choose the configuration required from the menu top left (underneath the window buttons), then click "Build and Run" on the toolbar. A freshly built Audacity will launch when the build completes.

If you have installed Xcode 5.x there will be a warning in the Xcode status bar when Xcode runs Audacity:

GDB: Data Formatters temporarily unavailable, will re-try after a 'continue'.

To workaround this, just choose "Continue" from the "Run" menu.

Bom audiacty build xcode build.png