How to compile Mixxx for Mac OS X

Compiling Mixxx for Mac OS X is pretty straight forward once you have all the dependancies and Qt set up properly. This guide assumes you have basic knowledge about compiling (untar/ungzip, ./configure, make). If you don't, there is a basic guide available at http://www.ee.surrey.ac.uk/Teaching/Unix/unix7.html.

This guide is written for Leopard (10.5.x) but should work on Tiger. You will need the XCode development tools installed for gcc and all the other sundry Unix headers. If you don't have XCode already then look on OS X Install Disc 2 or sign up at Apple Developer Connection and download them (warning: almost 1G). A guide to getting xcode is available at this page.

1. Install build dependencies

Mixxx relies on several external libraries for various features. At the moment, installing the supporting libraries through fink does not work properly as the install script expects them in a different place. When executing make install, you may need to use 'sudo make install' instead.

You will need to install the following before continuing with the compile process:

  • scons (Download page, Install guide) – if you have darwinports and have already installed its version of python then `sudo port install scons` is also a reasonable way to get this installed or port scons
  • libid3tag, libmad (Download page) – `./configure && sudo make install` or port libid3tag/libmad
  • PortAudio-v19 – `./configure && sudo make install` or port portaudio
  • fftw3 (Download page) – `./configure && sudo make install` or port fftw-3
  • libsndfile (Download page) – `./configure && sudo make install` or port libsndfile
  • libogg, libvorbis (Download page) – `./configure && sudo make install` or when using port already covered by previous ports
  • libFLAC (Overchan Download page, Download Page (don't try to compile the source directly, you'll need to mess with the ld(1) options and just don't, there's enough nuisances in this process)) → still needed or is this covered by libsndfile?
  • libmp4v2 (Download) or port mp4v2
  • portmidi (Download
  • faad2 (Download) or port faad2
  • QT 4.6.0+ (Download page) – get the .dmg and install to the default location, for snow leopard make sure to grab the 64bit cocoa version
  • Bazaar (Download page) – Get the installer for your version of OS X

2. Get Mixxx

If you want to compile Mixxx, you'll need to download the source code. Either grab the source for the latest release off our downloads page, or checkout the latest Mixxx 1.7 code:

bzr checkout lp:mixxx/1.7

3. Compile and install

If you got the source code from BZR, change to the newly created “mixxx” directory, and use scons to compile and install:

cd mixxx
scons
scons bundle

This should generate Mixxx.app. Generating the .app has some expensive scanning and relinking steps so if you want to avoid this you can skip 'scons bundle' and instead on the first run of mixxx run it as:

mixxx --resourcePath res/

So that it records res/ in mixxx.cfg as where to find skins etc instead of dying at startup.

If you wanted to update later to a newer BZR snapshot, you would go back to the mixxx directory and run:

bzr update

4. Create an XCode project (optional)

If you want to work on Mixxx with XCode for an IDE:

This is taken from the Scons site, who have a pretty good description of how to get a scons project up and running in XCode:

  1. File→New Project, choose “External Build System”
  2. Save the project into the same directory as your SConstruct file.
  3. In Groups and Files → Targets, double click the target that was automatically created.
  4. In the Build Tool field, put the full path to scons - like ”/System/Library/Frameworks/Python.framework/Versions/2.3/bin/scons”
  5. You should now be able to build using the Build command from Xcode
  6. Right click “Executables” and choose “Add new custom executable” and point it to the executable you are building and then you can debug using Xcode.
  7. Use Debug → Breakpoints menu to add a symbolic breakpoint at main() - just type main where it says 'Double click for Symbol' - if you don't add this break point none of the breakpoints set in the editors will work, because gdb doesn't have the symbol information until you start debugging (Jim Ingham suggests turning off “Lazy Symbol Loading” in Debug Preferences.)
 
compiling_on_os_x.txt · Last modified: 2010/01/22 20:58 by djsdive
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki