Personal tools
You are here: Home development documentation Debian
Views

Building for GNU/Linux using Debian

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

apt-get install make gcc-3.3 g++-3.3 cpp-3.3 libc6-dev curl cvs autoconf automake1.8 bzip2

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:

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 fftw3 fftw3-dev ladspa-sdk

For Debian/stable you need these:

libjack0.80.0-0 libjack0.80.0-dev libflac6 liblo0 liblo0-dev

For Debian/testing, Debian/unstable, or Ubuntu/dapper you need these:

libjack0.100.0-0 libjack0.100.0-dev libflac7 liblo0 liblo0-dev

LAME is a free library that provides mp3 support. The mp3 format is patented (No Software Patents!) in the U.S. and maybe other countries, so Debian cannot include LAME. You can get LAME packages by adding this line to your /etc/apt/sources.list:

Debian sarge/stable

deb http://ace-host.stuart.id.au/russell/files/debian/sarge/lame/ ./

Debian etch/testing x86

deb http://rarewares.org/debian/packages/unstable/ ./                                     

Debian etch/testing PowerPC?

deb http://honk.physik.uni-konstanz.de/~agx/linux-ppc/debian/ unstable/

Ubuntu Dapper

In your /etc/apt/sources.list, you need to uncomment the lines that have dapper universe and add multiverse to the end:

deb http://us.archive.ubuntu.com/ubuntu/ dapper universe multiverse                       

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

liblame0 liblame-dev

For all the video objects, you need these packages:

imagemagick liblcms1 liblcms1-dev libjasper-dev libjpeg62 libjpeg62-dev libpng3 libpng3-dev libtiff4 libtiff4-dev libtheora0 libtheora-dev libmpeg-dev libmpeg1 libmpeg2-4 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

For Debian/stable, add these:

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

For Debian/testing and Debian/unstable, add these:

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

For Ubuntu/dapper, 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 gridflow.ca 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.

Autobuilders

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.

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

If you are planning on building Pd-extended, you need to checkout the version of Pd that Pd-extended is currently compiling against. This is because Pd-extended relies on a lot of patches, and these patches will only apply cleaning against a specific version. To check out 0.39.2, for example:

cvs -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data login
cvs -z3 -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data checkout -r v0-39-2 pd

Building

Before starting to compile Pd-extended, you will need to apply the patches. Make sure everything applied cleanly by watching the output.

cd pure-data/packages/ && make patch_pd

Once you have all of the sources and the patches are applied, you can start compiling. Try building the whole thing and see if it works for you:

cd linux_make
make install

It will then build for a while, and it should end up with all the binaries in pure-data/packages/linux_make/build. To make a tarball, run:

make package

then you'll see a .tar.bz2 in pure-data/packages/linux_make/build.


comments:

Wow thanks for the detail --badmuthahubbard, Sat, 15 Jul 2006 20:09:24 +0200 reply
I can't wait to try this.



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