Personal tools
You are here: Home documentation developer DebianOldStyle

Building for GNU/Linux using Debian or Ubuntu

First you will need to make sure that you have all of the standard development tools installed.

apt-get install make gcc g++ cpp libc6-dev curl cvs subversion autoconf automake bzip2 dpkg-dev fakeroot libstdc++6 rsync

Required Packages

All of these packages are used in the compilation of Pd-extended on Debian Sarge/stable. All of them come from the standard Debian repositories except those marked. The easiest way to install all of these is to copy and paste the list of packages on a line starting with apt-get install.

This is all that is needed to compile the Pd core:

ttf-bitstream-vera tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev

For all of the audio objects, you need these packages:

libasound2 libasound2-dev libogg0 libogg-dev libvorbis0a libvorbisenc2 libvorbisfile3 libvorbis-dev libspeex1 libspeex-dev libflac-dev libsndfile1 libsndfile1-dev libsamplerate0-dev libgavl-dev libmad0-dev ladspa-sdk

For other misc support:

libpcre3 libpcre3-dev libpq-dev libmysqlclient15-dev swig dssi-dev liblo0-dev libhid-dev liblua5.1-0-dev lua5.1 flite1-dev ant libtk-img tcllib

For Debian/stable or Ubuntu/dapper you need these:

libflac7 fftw3 fftw3-dev

For Debian/testing, Debian/unstable, Ubuntu/hardy, Ubuntu/intrepid you need these:

libflac8 libfftw3-dev libjack0 libjack-dev

LAME is a free library that provides mp3 support. The mp3 format is patented ( No Software Patents!) in the U.S.A., Germany, and maybe other countries, so Debian cannot include LAME. You can get LAME packages from the debian-multimedia .org repository. Most likely, you'll add this to your /etc/apt/sources.list:

deb stable main

For Ubuntu, you can get it by enabling multiverse. You can add it manually in your /etc/apt/sources.list, uncomment the lines that have dapper universe and add multiverse to the end:

deb dapper universe multiverse

Now run apt-get update and then install these packages:

liblame0 liblame-dev Or for Ubuntu/intrepid and Debian/testing, use these: libmp3lame0 libmp3lame-dev

Note that it's not easy to build pd without mp3 support, so installing these packages is recommended even if you don't plan on using it.

For all the video objects, you need these packages:

imagemagick liblcms1 liblcms1-dev libjasper-dev libjpeg62 libjpeg62-dev libpng12-dev libtiff4 libtiff4-dev libtheora0 libtheora-dev libmpeg3-1 libmpeg3-dev libquicktime-dev ffmpeg libavcodec-dev libavc1394-0 libavc1394-dev libdv4 libdv4-dev libxv-dev libxv1 libdts-dev ftgl-dev libimlib2 libimlib2-dev libfreetype6 libfreetype6-dev graphviz libbz2-dev zlib1g-dev libice6 libice-dev libsm6 libsm-dev libxml2 libxml2-dev libxext6 libxext-dev libxt6 libxt-dev libx11-6 libx11-dev libgsl0-dev libglu1-mesa libglu1-mesa-dev libavformat-dev freeglut3-dev libcv-dev libcvaux-dev libhighgui-dev libxxf86vm-dev

For Debian/stable, add these:

libmagick++6 libmagick++6-dev libdps1 libdps-dev

For Debian/testing, Debian/unstable, Ubuntu/gutsy, Ubuntu/hardy, Ubuntu/intrepid add these:

libmagick++9-dev libavifile-0.7c2 libswscale-dev libv4l-dev

For Ubuntu/dapper and Ubuntu/feisty, add these:

libavifile-0.7-dev libmagick++9-dev libmagick++9c2a

For building gridflow, you will need :

ruby1.9-dev ruby1.9 libx11-dev libpng12-dev libmpeg3-dev libquicktime-dev libjpeg62-dev xlibs-dev

You should use the version from the CVS repository. Download it in a new directory as it is not self-contained. Type ./configure; make;. Then, you will need to manually copy the directory to anywhere you want it to be installed. Let say /usr/local/lib/pd/extra/gridflow.

Building Pd and/or Pd-extended

Before you start building, you will of course need to get the source code. There are multiple ways of getting it, check out GettingPdSource for the options. Then move on to BuildingPd or BuildingPdExtended, depending on what you want to build.


The Debian autobuilders are servers which automatically build all of the Debian packages. The Pd sources must be properly setup in order for this to work.


Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser