home changes contents help options

Edit history

Edit: -1 of 1
Time: 2007-01-03 12:04:41
Note: /pd/pd/dev/docs/Debian/edit

changed:
-
Building for GNU/Linux using Debian

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

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


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 <code>apt-get install</code>.

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

<code>
tcl8.4
tcl8.4-dev
tk8.4
tk8.4-dev
</code>

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

<code>
libasound2
libasound2-dev
libogg0
libogg-dev
libvorbis0a
libvorbisenc2
libvorbisfile3
libvorbis-dev
libspeex1
libspeex-dev
libflac-dev
libsndfile1
libsndfile1-dev
fftw3
fftw3-dev
ladspa-sdk
</code>

For **Debian/stable** you need these:

<code>
libjack0.80.0-0
libjack0.80.0-dev
libflac6
liblo0
liblo0-dev
</code>

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

<code>
libjack0.100.0-0
libjack0.100.0-dev
libflac7
liblo0
liblo0-dev
</code>


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

**Debian sarge/stable**
<pre>
deb http://ace-host.stuart.id.au/russell/files/debian/sarge/lame/ ./
</pre>

**Debian etch/testing x86**
<pre>
deb http://rarewares.org/debian/packages/unstable/ ./                                     
</pre>

**Debian etch/testing PowerPC**
<pre>
deb http://honk.physik.uni-konstanz.de/~agx/linux-ppc/debian/ unstable/
</pre>

**Ubuntu Dapper**

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

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


Now run <code>apt-get update</code> and then install these packages:

<code>
liblame0
liblame-dev
</code>


For all the video objects, you need these packages:

<code>
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
</code>

For **Debian/stable**, add these:

<code>
libmagick++6
libmagick++6-dev
libdps1
libdps-dev
</code>

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

<code>
libmagick++9c2a
libmagick++9-dev
libavifile-0.7c2
</code>

For **Ubuntu/dapper**, add these:

<code>
libavifile-0.7-dev
libmagick++9-dev
libmagick++9c2a
</code>

For building gridflow, you will need :

<code>
ruby1.9-dev 
ruby1.9
libx11-dev
libpng12-dev 
libmpeg3-dev
libquicktime-dev
libjpeg62-dev
xlibs-dev
</code>

You should use the version from the gridflow.ca CVS repository. Download it in a new directory as it is not self-contained. Type  <code>./configure; make;</code>. 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: <a href="http://pure-data.cvs.sourceforge.net/pure-data/scripts/checkout-developer-layout.sh?rev=HEAD" target="chsc">checkout-developer-layout.sh</a>.

But you can also do it manually: <a href="/docs/developer/sourceforge_cvs" target="sfcvs">How to download from the SourceForge CVS</a> and <a href="/docs/developer/devlayout">Directory Layout for Developers</a>

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:

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


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'<br>
'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**.

From badmuthahubbard Sat Jul 15 20:09:24 +0200 2006
From: badmuthahubbard
Date: Sat, 15 Jul 2006 20:09:24 +0200
Subject: Wow thanks for the detail
Message-ID: <20060715200924+0200@https://puredata.info>

I can't wait to try this.