Setting up PlanetCCRMA/Fedora for Building
Set up your system as a PlanetCCRMA machine. This howto was done using Fedora 9 and the corresponding PlanetCCRMA packages. Start on this web page: http://ccrma.stanford.edu/planetccrma/software/ then come back here and continue. You will need to install this package for using PlanetCCRMA on Fedora 9:
First you will need to make sure that you have all of the standard development tools installed.
yum install curl cvs subversion make autoconf gcc gcc-c++ automake bzip2
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:
yum install bitstream-vera-sans-mono-fonts tcl tcl-devel tk tk-devel jack-audio-connection-kit jack-audio-connection-kit-devel alsa-lib alsa-lib-devel libtool
For all of the audio objects, you need these packages:
yum install libogg libogg-devel libvorbis libvorbis-devel fftw3 fftw3-devel speex speex-devel flac flac-devel ladspa ladspa-devel libsndfile libsndfile-devel lame lame-devel
On Fedora 13, lame is not available. Follow instructions on http://atrpms.net/install.html to add atrpms to your yum source package. Then
yum install lame lame-devel
should work. As of Fedora 17 RPMFusion works as well for obtaining lame.
For other misc objects, you need these packages:
yum install xmms xmms-devel pcre pcre-devel postgresql-devel mysqlclient15-devel mysql-devel swig dssi-devel lua lua-devel flite flite-devel ant
For all the video objects, you need these packages:
yum install SDL SDL-devel gsl gsl-devel libtheora libtheora-devel libtiff libtiff-devel libpng libpng-devel imlib2 imlib2-devel bzip2-devel ImageMagick ImageMagick-devel libxml2 libxml2-devel libjpeg libjpeg-devel libdv libdv-devel avifile avifile-devel libavc1394 libavc1394-devel libmpeg3-devel ftgl-devel freetype freetype-devel ImageMagick-c++ ImageMagick-c++-devel libXv libXv-devel lcms lcms-devel mesa-libGL mesa-libGL-devel mesa-libGLU mesa-libGLU-devel jasper jasper-devel ffmpeg ffmpeg-devel freeglut-devel opencv-devel libquicktime libquicktime-devel faad2 faac ffmpeg-libs a52dec a52dec-devel libv4l libv4l-devel
There are a number of packages that support various codecs, like MP3 or MPEG, which are patented in various countries. This software cannot be legally distributed in those countries without proof of a license for that patent. Therefore, the RPM repositories for that software are separate, and hosted in a country where software patents are not valid ("No Software Patents!": http://www.nosoftwarepatents.com/). FreshRPMs repository is a good collection to use for this software: http://freshrpms.net/
PlanetCCRMA has rpms for pd-extended version 0.41.4 for fedora 11, 12 and 13. It is divided into two packages, pd-extended and pd-extended-extras, the extras reqires the FreshRPMs packages.
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. Once you have the source, then check out BuildingPd or BuildingPdExtended.
Additional Notes for Building PdExtended on Fedora 17: - The path to lua is invalid /usr/include/lua5.1 it should be /usr/include/ in this file:line externals/loadres/pdlua/src/Makefile:154 - The library is named liblua-5.1.so not liblua5.1.so on Fedora. Change the according line 155 to LIBS += -llua-5.1