Installing PD externals HOWTO
A HOWTO for those who are new to installing externals for PD.
For an up-to-date guide see: How Do I Install Externals And Help Files? (July 2017)
The text below is kept for historical reasons:
Installing PD externals HOWTO
| Revision History | ||
|---|---|---|
| Revision 2 | 25 August 2006 | JB |
| Modified. | ||
Abstract
This HOWTO provides basic information about how to install externals for the Pure Data software by Miller Puckette
This HOWTO assumes that you already have a working installation of the Pure Data (PD) software.
Comments and suggestions are welcome via the email link on my website here
Table of Contents
The word 'external' is used to mean 'external PD class', as opposed to an internal PD class included with the PD application. PD externals are binary files that contain functions that can be used by PD. A PD library is a binary file that contains multiple externals. [metro] is an example of an internal class, [demux] from the zexy library is an example of an external class
If you are impatient and just want an installation example, click here
The most recent versions of many of the available PD externals can be found at the CVS repository, which can be browsed here:
NOTE: The CVS is a development tool; although it may contain the most recent versions of the source for externals, it may not contain the most stable versions
In order to checkout (download) an external or library from the CVS, you will need a CVS client. Examples include
Once you have a CVS client, use the following command to login:
cvs -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data login
When prompted for a password, just press enter.
Use the following command to download:
cvs -z3 -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data co -P
modulename
The module name should be of the form: externals/externaldirectoryname. To download all externals, the modulename should simply be externals
If you have used CVS to download external(s) skip to here for notes on installation.
See here for an example.
If you are running Linux on your computer, it is likely that you will have access to some form of package system such as RPM or portage. And also possibly a package manager such as apt
Many of the repositories for linux packages now contain PD externals and libraries. Examples of these can be found at Planet CCRMA and Debian
To download a library using apt (Debian) type:
apt-get install
packagename
To use emerge (Gentoo), type:
emerge
packagename
If you have obtained an RPM containing a library or external skip to this section
Externals can also be found from many other sources. These include individual authors' websites, puredata.info, the Pure Data base and the externals repository
Authors usually distribute their externals in a compressed archive, such as a zip file or a tarred and gzipped archive. The archive usually license information, source code, documentation, and sometimes binary versions of the external(s). If there is insufficient documentation distributed with the external, contact the author or the pure-data mailing list
Examples of external authors' websites can be found at the PD Webring
If you have obtained an RPM file containing external(s), simply type:
rpm -ivh
external.rpm
You will need to have root privileges to do this, so you either need to precede the command with sudo, or use su - to change to a root shell.
If you are lucky enough to have a binary version of the external or library, which is in a binary format compatible with your hardware and operating system, then all you need to do is ensure that the file is placed in a location that is part of PD's search path.
For example if you have a library of the form blah.pd_myOS, you should put it somewhere like /usr/local/lib/pd/extra and ensure that your PD search path contains this directory.
If the archive you have downloaded only contains source code (files ending in .c, .cpp or .h), you will need to compile this source code to make binary file(s)
There is no generic way to compile PD externals. Sometimes the compiler is invoked directly, but usually there is some scripting system such as make or scons.
NOTE: there are usually some installation instructions included with source code for externals. These will be in a file called INSTALL, README, install.txt, or similar. This should be read before continuing.
Very common (on unixes):
For this you will need the make utility and a compiler installed.
./configure (builds the correct Makefile for your system)
make (runs the relevant build commands in the Makefile)
make install (places the compiled files in the correct directories;
You usually need root privileges to run make install
Also becoming more popular is scons. For this you will need Python, a compiler and scons installed. The commands are as follows:
scons
scons install(usually as root)
An easy way to install _all_ the externals from the CVS is to download all the externals as described here, then do:
cd externals/build
scons
sudo scons install
If you want to install zexy from CVS you need to do the following:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data login
cvs -z3 -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data co -P externals/zexy
cd externals/zexy/src
aclocal (for this you will need the autoconf utility [part of Autotools] installed)
autoconf
./configure
make
sudo make install
If you have problems installing an external or library: