Method Compile library Pure Data Linux

Method to compile a Pure Data library on Linux.
M├ęthode pour compiler une librairie Pure Data sous Linux.

On Ubuntu 20.04 64bit & Ubuntu 16.04 32bit.

Example with the pitchHeight~ object and the source code:
http://williambrent.conflations.com/pd/pitchHeight~-0.0.5-src.zip
pitchHeight~ - an FFT-based octave doubler.
Copyright 2009 William Brent
version 0.0.5, January 20, 2011

Example with the percolate library and the source code:
https://sourceforge.net/projects/fork-percolate/  (1 2020)
PeRColate is an open-source distribution of a variety of synthesis and signal processing algorithms...

Method written in March 2021.

Documentation
https://puredata.info/docs/developer/64BitLinux 



make install
GNU C compiler (gcc) install
Terminal:
g@g:~$ sudo apt-get update
...
g@g:~$ sudo apt install make
...
g@g:~$ sudo apt install gcc
...
g@g:~$


Pd source code dowload:
http://puredata.info/downloads/pure-data/releases/0.50-2
-> Get Pure Data 0.50-2 for All platforms (Source code) (8.9MB)
    -> pd-0.50-2.src.tar.gz
        -> extract -> folder pd-0.50-2


Build pitchHeight~ object 64bit
Create a "FolderPd" folder on the desktop
-> /home/g/Desktop/FolderPd/

Download source code of pitchHeight~ object:
http://williambrent.conflations.com/pd/pitchHeight~-0.0.5-src.zip
    -> pitchHeight~-0.0.5-src.zip
        -> Unzip ->  pitchHeight~
Place the folder pitchHeight~ in the FolderPd:
   -> /home/g/Desktop/FolderPd/pitchHeight~

Place the folder pd-0.50-2 in the FolderPd:
-> /home/g/Desktop/FolderPd/pd-0.50-2

Edit the file Makefile of the folder pitchHeight~:
1 SOURCES = pitchHeight~.c
2 LIBRARY_NAME := $(shell basename `pwd`)
3 # ****SUPPLY THE LOCATION OF PD SOURCE****
4 pd_src = ../../
5 objectsdir = $(pd_src)/extra
Edit the 4th line:
4 pd_src = /home/g/Desktop/FolderPd/pd-0.50-2/

Terminal:
g@g:~$ cd Desktop/FolderPd/pitchHeight~
g@g:~/Desktop/FolderPd/pitchHeight~$ make
cc -DPD -I/home/g/Desktop/FolderPd/pd-0.50-2//src -Wall -W -g -fPIC -O6 -funroll-loops -fomit-frame-pointer -o "pitchHeight~.o" -c "pitchHeight~.c"
...

pitchHeight~.pd_linux is built:
/home/g/Desktop/FolderPd/pitchHeight~/pitchHeight~.pd_linux


Build pitchHeight~ object 32bit:
The easiest way to build a 32bit object is to be in Ubuntu 32bit.
The last official version of Ubuntu LTS 32bit is Ubuntu 16.04 LTS (Xenial Xerus)
On Ubuntu 16.04 32bit:
"make" install ...
"GNU C compiler (gcc)" install
Terminal:
p@p:~$ sudo apt-get update
p@p:~$ sudo apt install make
p@p:~$ sudo apt install gcc

Create a "FolderPd" folder on the desktop
-> /home/p/Desktop/FolderPd/

Pd-extended 0.43.4 source code dowload:
http://puredata.info/downloads/pd-extended
    -> Get Pd-extended for All platforms (Source code) (32.4 MB)
        -> Pd-extended_0.43.4-source.tar.bz2
            ->  Extract -> pd-extended folder
Place the pd-extended folder in the FolderPd:
    -> /home/p/Desktop/FolderPd/pd-extended/

Download source code of pitchHeight~ object:
http://williambrent.conflations.com/pd/pitchHeight~-0.0.5-src.zip
    -> Extract ->  pitchHeight~ folder
Place the pitchHeight~ folder in the FolderPd:
    -> /home/p/Desktop/FolderPd/pitchHeight~/

Edit the file: /home/p/Desktop/FolderPd/pitchHeight~/Makefile
Edit the line: pd_src = ../../
-> pd_src = /home/p/Desktop/FolderPd/pd-extended/pd/

Terminal:
p@p:~$ cd Desktop/FolderPd/pitchHeight~
p@p:~/Desktop/FolderPd/pitchHeight~$ make

pitchHeight~.pd_linux is built:
/home/p/Desktop/FolderPd/pitchHeight~/pitchHeight~.pd_linux


A use of the pitchHeight~.pd_linux object:
https://github.com/gerardparesys/ARGOPd/tree/master/ExMM/ExMM129-pitchHeight


Build percolate library 64bit
Download source code of percolate library:
https://sourceforge.net/projects/fork-percolate/  (1 2020)
    -> PeRColate4PD.tar.gz
        -> PeRColate4PD
Place the folder PeRColate4PD in the FolderPd:
   -> /home/g/Desktop/FolderPd/PeRColate4PD

Pd must be installed
Terminal:
g@g:~$ cd /home/g/Desktop/FolderPd/PeRColate4PD
g@g:~/Desktop/FolderPd/PeRColate4PD$ make
++++ info: using Makefile.pdlibbuilder version 0.6.0
++++ info: using Pd API /usr/include/pd/m_pd.h
++++ info: making target all in lib percolate
++++ info: making src/absmax~.o in lib percolate
...
++++info: target all in lib percolate completed
g@g:~/Desktop/FolderPd/PeRColate4PD$

percolate.pd_linux is built:
/home/g/Desktop/FolderPd/PeRColate4PD/percolate.pd_linux


Build percolate library 32bit:
On Ubuntu 16.04 32bit:
Pd must be installed
Place the folder PeRColate4PD in the FolderPd:
   -> /home/p/Desktop/FolderPd/PeRColate4PD
Terminal:
p@p:~$ cd Desktop/FolderPd/PeRColate4PD
p@p:~/Desktop/FolderPd/PeRColate4PD$ make
++++ info: using Makefile.pdlibbuilder version 0.6.0
++++ info: using Pd API /usr/include/pd/m_pd.h
++++ info: making target all in lib percolate
++++ info: making src/absmax~.o in lib percolate
...
++++info: target all in lib percolate completed

percolate.pd_linux is built:
/home/g/Desktop/FolderPd/PeRColate4PD/percolate.pd_linux


percolate.pd_linux 32bit & 64bit:
PercolateLinux.zip
PeRColate for Pure Data version 0.09
PeRColate: written for Max/MSP by Dan Trueman and R. Luke DuBois
PeRColate: ported to PD by Olaf Matthes <olaf.matthes@gmx.de>
PeRColate: adapted to Linux by Maurizio Umberto Puxeddu <umbpux@tin.it>
PeRColate: help files ported by Martin Dupras <martin.dupras@uwe.ac.uk>
Source code fixed by Julien Ottavi:
https://sourceforge.net/projects/fork-percolate/


A use of the percolate library:
https://github.com/gerardparesys/ARGOPd/tree/master/ExMM/ExMM217-FilterBank



Links:
http://puredata.info 
https://github.com/pure-data/externals-howto 
 

Paresys Accueil 27 3 2021     Valid HTML 4.01 Transitional Paresys Home