Personal tools
You are here: Home development documentation Fedora
Views

Building for GNU/Linux using Fedora Core, Red Hat, and related distros

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

yum install curl cvs make autoconf gcc gcc-c++ automake bzip2

Required Packages

All of these packages are used in the compilation of Pd-extended on Fedora Core 4. All of them come from the standard Fedora 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 yum install.

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

tcl tcl-devel tk tk-devel jack-audio-connection-kit alsa-lib alsa-lib-devel

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

libogg libogg-devel libvorbis libvorbis-devel fftw3 fftw3-devel liblo liblo-devel speex speex-devel flac flac-devel ladspa ladspa-devel libsndfile libsndfile-devel

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. Make sure you have a license to use the MP3 patent, if needed in your country. You can get LAME packages here: http://atrpms.net/dist/fc4/lame/ You will need these packages:

lame-3.96.1-12.fc4.at.i386.rpm lame-devel-3.96.1-12.fc4.at.i386.rpm

For all the video objects, you need these packages:

libquicktime libquicktime-devel gsl gsl-devel libtheora libtheora-devel libtiff libtiff-dev libpng libpng-dev





I've converted the Debian HOWTO up to this point, from here on, its basically just the Debian HOWTO. -Hans



These are Debian package names that need to be converted to Fedora package names:

libusb

For all the video objects, you need these packages:

imagemagick liblcms1 liblcms1-dev libjasper-dev libjpeg62 libjpeg62-dev libmpeg-dev libmpeg1 libmpeg2-4 libmpeg3-1 libmpeg3-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.

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.



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