Building Pd-extended on Mac OS X HOWTO
This HOWTO covers how to set up your Mac OS X install in order to build the complete Pd-extended.app.
Build tools
- Apple Developer tools
- You will need to install the Apple Developer's Tools to get the Apple compiler and tools. It comes with the Mac OS X CDs or you can download it from Apple.
- Fink
-
Most of the external libraries used to build Pd can be installed very easily via Fink. If you don't already have Fink installed, here are the download instructions . The below commands install all of the needed libraries for the various parts of Pd:
Pd extensions:
sudo fink install fftw3 fftw3-shlibsFor Pd-extended, you need a lot of packages. You can install these from the stable binary distro:
sudo apt-get install flac flac-shlibs libsndfile0 libsndfile0-shlibs libogg libogg-shlibs libvorbis0 libvorbis0-shlibs libtiff libtiff-shlibs graphvizFor these, they need to be compiled from source:
sudo fink install libtheora0 libtheora0-shlibs imagemagick imagemagick-shlibs imagemagick-dev imlib2 imlib2-shlibs libjpeg libjpeg-shlibs libpng-shlibs libpng3 libpng3-shlibs libmpeg libmpeg-shlibs freetype219 freetype219-shlibs ffmpeg ffmpeg-dev libquicktime0 libquicktime0-shlibs gsl gsl-shlibsThese are dependencies that aren't required as of now, but might be soon:
liblo0 liblo0-shlibs ladspa ladspa-cmt ladspa-dev libsndfile1 libsndfile1-shlibsIf you want to try to install binaries and save the time it takes to compile everything, replace the command
finkwithapt-get. Not all packages are available in binary format, so you'll have to usefinkto compile those.These packages seem to need to be installed from the "unstable" Fink distro (how to use the unstable packages):
sudo fink install ffmpeg ffmpeg-dev libavcodec1-dev libavcodec1-shlibs libdv4 libdv4-shlibs speex3 speex3-shlibs lame-dev lame-shlibsIf you want to use these packages also, then you need to convert your Fink install to use the "unstable" distro (which has been quite stable for me). The Fink FAQ, question 5.8 tells you how: http://fink.sourceforge.net/faq/usage-fink.php
Frameworks
- Tcl/Tk
- You need two Tcl/Tk packages in order to build Pd: the frameworks and the standalone app. Technically you could use just one, but having both makes it much easier. Download: TclTkAquaStandalone-8.4.10.dmg and TclTkAqua-8.4.10.dmg. Install TclTk8.4.10 frameworks with the installer package in TclTkAqua-8.4.10.dmg. Move TclTkAquaStandalone-8.4.10.dmg to packages/darwin_app, the Makefile looks for it there. If you are running Mac OS X 10.4 Tiger, this is not technically necessary since Tcl/Tk 8.4.7 is included. But there are some advantages to running the newer versions of Tcl/Tk
- Jack OS X
- Pd-extended uses Jack on Mac OS X also. I have not used it beyond very basic testing, but it has been reported to work. It does compile fine. This is the version I used: JackOSX.0.72.pkg.zip Its an installer, once its downloaded, just run the installer.
Checking out the code from CVS
The easy way to do checkout everything is to run this script where you want to put the Pd code: checkout-developer-layout.sh.
But you can also do it manually: How to download from the SourceForge CVS and Directory Layout for Developers
An easy way to get the whole source is to use rsync and download it from the auto-build server. (note: the --delete flag to rsync will clean up your sources after a build to get back to the beginning).
rsync -av --delete rsync://128.238.56.50/distros/pd-devel/ pd-devel/ rsync -av --delete rsync://128.238.56.50/distros/pd-extended/ pd-extended/ rsync -av --delete rsync://128.238.56.50/distros/pd-main/ pd-main/
Building
For Pd-extended, you will need to apply the required patches to Pd-core before compiling. To do this, cd packages/ && make patch_pd
Once you have all of the sources, then you can start compiling. Try building the whole thing and see if it works for you:
cd pure-data/packages/darwin_app
make install
It will then build for a while, and it should end up with a Pd-extended.app in pure-data/packages/darwin_app/build.