BuildBits » History » Version 21

Chris Cannam, 2011-10-10 03:49 PM

1 1 Chris Cannam
h1. Build Bits
2 1 Chris Cannam
3 1 Chris Cannam
We deliberately use out-of-date systems for SV and Sonic Annotator builds, so as to try to ensure the result works on as many machines as possible.  These are some random notes piled up during build configuration.
4 1 Chris Cannam
5 1 Chris Cannam
h2. Linux
6 1 Chris Cannam
7 1 Chris Cannam
h3. Centos 5.4 32-bit
8 2 Chris Cannam
9 3 Chris Cannam
First add @/usr/local/lib@ to @/etc/ld.so.conf@.  Even where we ultimately link statically, we use dynamic libraries during dependency builds.
10 3 Chris Cannam
11 6 Chris Cannam
PulseAudio is too hard to build on this system (even though we only want the library, not the server -- sigh).  So we build for PortAudio (ALSA support only) and JACK.  PortAudio with ALSA _might_ work through PulseAudio on other systems anyway.
12 6 Chris Cannam
13 18 Chris Cannam
Check out svcore/svgui/svapp/sonic-visualiser first, we use something from svcore at one point here.
14 18 Chris Cannam
15 1 Chris Cannam
<pre>
16 3 Chris Cannam
cd ~/code
17 3 Chris Cannam
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:$PKG_CONFIG_PATH
18 3 Chris Cannam
wget http://fftw.org/fftw-3.3.tar.gz
19 3 Chris Cannam
tar xvzf fftw-3.3.tar.gz 
20 3 Chris Cannam
cd fftw-3.3
21 19 Chris Cannam
CFLAGS=-fPIC ./configure --enable-single
22 3 Chris Cannam
make > make.log 2>&1 && sudo make install
23 19 Chris Cannam
CFLAGS=-fPIC ./configure 
24 3 Chris Cannam
make clean
25 3 Chris Cannam
make > make.log 2>&1 && sudo make install
26 3 Chris Cannam
cd ..
27 3 Chris Cannam
wget http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz
28 3 Chris Cannam
tar xvzf libsndfile-1.0.25.tar.gz 
29 3 Chris Cannam
cd libsndfile-1.0.25
30 3 Chris Cannam
./configure --enable-static=yes
31 3 Chris Cannam
make > make.log 2>&1 && sudo make install
32 3 Chris Cannam
cd ..
33 3 Chris Cannam
wget http://www.mega-nerd.com/SRC/libsamplerate-0.1.8.tar.gz
34 3 Chris Cannam
tar xvzf libsamplerate-0.1.8.tar.gz 
35 3 Chris Cannam
cd libsamplerate-0.1.8
36 3 Chris Cannam
./configure --enable-static=yes
37 3 Chris Cannam
make > make.log 2>&1 && sudo make install
38 3 Chris Cannam
cd ..
39 3 Chris Cannam
sudo ldconfig -v
40 3 Chris Cannam
hg clone http://code.soundsoftware.ac.uk/hg/vamp-plugin-sdk
41 3 Chris Cannam
cd vamp-plugin-sdk/
42 3 Chris Cannam
./configure
43 3 Chris Cannam
make
44 4 Chris Cannam
sudo make install
45 1 Chris Cannam
cd ..
46 18 Chris Cannam
sudo cp svcore/plugin/api/ladspa.h /usr/local/include
47 4 Chris Cannam
hg clone http://hg.breakfastquay.com/rubberband
48 4 Chris Cannam
cd rubberband/
49 4 Chris Cannam
./configure
50 4 Chris Cannam
make
51 4 Chris Cannam
sudo make install
52 4 Chris Cannam
cd ..
53 4 Chris Cannam
wget http://download.librdf.org/source/raptor2-2.0.4.tar.gz
54 4 Chris Cannam
tar xvzf raptor2-2.0.4.tar.gz 
55 4 Chris Cannam
cd raptor2-2.0.4
56 4 Chris Cannam
./configure --enable-static --with-www=xml 
57 4 Chris Cannam
make >make.log 2>&1 && sudo make install
58 5 Chris Cannam
cd ..
59 5 Chris Cannam
wget http://download.librdf.org/source/rasqal-0.9.27.tar.gz
60 5 Chris Cannam
tar xvzf rasqal-0.9.27.tar.gz 
61 5 Chris Cannam
cd rasqal-0.9.27
62 5 Chris Cannam
./configure --with-decimal=none --enable-static=yes --enable-query-languages=sparql
63 5 Chris Cannam
make >make.log 2>&1 && sudo make install
64 5 Chris Cannam
cd ..
65 5 Chris Cannam
wget http://download.librdf.org/source/redland-1.0.14.tar.gz
66 5 Chris Cannam
tar xvzf redland-1.0.14.tar.gz 
67 5 Chris Cannam
cd redland-1.0.14
68 5 Chris Cannam
./configure --enable-static=yes --with-sqlite=no --with-mysql=no --with-bdb=no
69 5 Chris Cannam
make >make.log 2>&1 && sudo make install
70 6 Chris Cannam
cd ..
71 6 Chris Cannam
wget http://www.portaudio.com/archives/pa_stable_v19_20110326.tgz
72 6 Chris Cannam
tar xvzf pa_stable_v19_20110326.tgz 
73 6 Chris Cannam
cd portaudio/
74 8 Chris Cannam
./configure --enable-static=yes --enable-shared=no --with-alsa --without-oss --without-jack
75 6 Chris Cannam
make && sudo make install
76 9 Chris Cannam
cd ..
77 9 Chris Cannam
wget http://downloads.sourceforge.net/project/liblo/liblo/0.26/liblo-0.26.tar.gz
78 9 Chris Cannam
tar xvzf liblo-0.26.tar.gz
79 1 Chris Cannam
cd liblo-0.26
80 1 Chris Cannam
./configure --enable-static
81 12 Chris Cannam
make && sudo make install
82 12 Chris Cannam
cd ..
83 12 Chris Cannam
wget https://github.com/swh/LRDF/tarball/master --no-check-certificate
84 12 Chris Cannam
mv master lrdf.tar.gz
85 12 Chris Cannam
tar xvzf lrdf.tar.gz 
86 12 Chris Cannam
cd swh-LRDF-*
87 12 Chris Cannam
bash autogen.sh
88 12 Chris Cannam
./configure --enable-static=yes
89 12 Chris Cannam
make && sudo make install
90 13 Chris Cannam
cd ..
91 13 Chris Cannam
wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz
92 13 Chris Cannam
tar xvzf libmad-0.15.1b.tar.gz 
93 13 Chris Cannam
cd libmad-0.15.1b
94 13 Chris Cannam
./configure --enable-static
95 13 Chris Cannam
make && sudo make install
96 13 Chris Cannam
cd ..
97 13 Chris Cannam
wget ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.1b.tar.gz
98 13 Chris Cannam
tar xvzf libid3tag-0.15.1b.tar.gz 
99 13 Chris Cannam
cd libid3tag-0.15.1b
100 13 Chris Cannam
./configure --enable-static
101 13 Chris Cannam
make && sudo make install
102 14 Chris Cannam
cd ..
103 14 Chris Cannam
wget http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz
104 20 Chris Cannam
tar xvzf jack-audio-connection-kit-0.121.3.tar.gz
105 14 Chris Cannam
cd jack-audio-connection-kit-0.121.3
106 14 Chris Cannam
./configure --enable-static=yes --disable-oss --enable-alsa
107 1 Chris Cannam
make && sudo make install
108 15 Chris Cannam
cd ..
109 15 Chris Cannam
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz
110 15 Chris Cannam
tar xvzf libogg-1.3.0.tar.gz 
111 15 Chris Cannam
cd libogg-1.3.0
112 15 Chris Cannam
./configure --enable-static=yes
113 15 Chris Cannam
make && sudo make install
114 15 Chris Cannam
cd ..
115 15 Chris Cannam
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.gz
116 15 Chris Cannam
tar xvzf libvorbis-1.3.2.tar.gz 
117 15 Chris Cannam
cd libvorbis-1.3.2
118 15 Chris Cannam
./configure --enable-static=yes
119 15 Chris Cannam
make && sudo make install
120 15 Chris Cannam
cd ..
121 15 Chris Cannam
wget http://downloads.xiph.org/releases/liboggz/liboggz-1.1.1.tar.gz
122 15 Chris Cannam
tar xvzf liboggz-1.1.1.tar.gz 
123 15 Chris Cannam
cd liboggz-1.1.1
124 15 Chris Cannam
ls -l /usr/local/lib/*.a
125 15 Chris Cannam
./configure --enable-static=yes
126 15 Chris Cannam
make && sudo make install
127 15 Chris Cannam
cd ..
128 15 Chris Cannam
wget http://downloads.xiph.org/releases/libfishsound/libfishsound-1.0.0.tar.gz
129 15 Chris Cannam
tar xvzf libfishsound-1.0.0.tar.gz 
130 15 Chris Cannam
cd libfishsound-1.0.0
131 15 Chris Cannam
./configure --enable-static=yes
132 15 Chris Cannam
make && sudo make install
133 16 Chris Cannam
sudo mkdir -p /usr/local/lib/dynamic
134 16 Chris Cannam
sudo mv /usr/local/lib/*.so* /usr/local/lib/*.la /usr/local/lib/dynamic/
135 21 Chris Cannam
136 21 Chris Cannam
for x in svcore svgui svapp sonic-visualiser ; do
137 21 Chris Cannam
 ( cd $x ; QTDIR=../../qt-464-dynamic LDFLAGS=-lz ./configure && make ) || break
138 21 Chris Cannam
done
139 1 Chris Cannam
</pre>