Build Bits

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.

Linux

Centos 5.4 32-bit

First add /usr/local/lib to /etc/ld.so.conf. Even where we ultimately link statically, we use dynamic libraries during dependency builds.

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.

Check out svcore/svgui/svapp/sonic-visualiser first, we use something from svcore at one point here.

cd ~/code
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:$PKG_CONFIG_PATH
wget http://fftw.org/fftw-3.3.tar.gz
tar xvzf fftw-3.3.tar.gz 
cd fftw-3.3
CFLAGS=-fPIC ./configure --enable-single
make > make.log 2>&1 && sudo make install
CFLAGS=-fPIC ./configure 
make clean
make > make.log 2>&1 && sudo make install
cd ..
wget http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz
tar xvzf libsndfile-1.0.25.tar.gz 
cd libsndfile-1.0.25
./configure --enable-static=yes
make > make.log 2>&1 && sudo make install
cd ..
wget http://www.mega-nerd.com/SRC/libsamplerate-0.1.8.tar.gz
tar xvzf libsamplerate-0.1.8.tar.gz 
cd libsamplerate-0.1.8
./configure --enable-static=yes
make > make.log 2>&1 && sudo make install
cd ..
sudo ldconfig -v
hg clone http://code.soundsoftware.ac.uk/hg/vamp-plugin-sdk
cd vamp-plugin-sdk/
./configure
make
sudo make install
cd ..
sudo cp svcore/plugin/api/ladspa.h /usr/local/include
hg clone http://hg.breakfastquay.com/rubberband
cd rubberband/
./configure
make
sudo make install
cd ..
wget http://download.librdf.org/source/raptor2-2.0.4.tar.gz
tar xvzf raptor2-2.0.4.tar.gz 
cd raptor2-2.0.4
./configure --enable-static --with-www=xml 
make >make.log 2>&1 && sudo make install
cd ..
wget http://download.librdf.org/source/rasqal-0.9.27.tar.gz
tar xvzf rasqal-0.9.27.tar.gz 
cd rasqal-0.9.27
./configure --with-decimal=none --enable-static=yes --enable-query-languages=sparql
make >make.log 2>&1 && sudo make install
cd ..
wget http://download.librdf.org/source/redland-1.0.14.tar.gz
tar xvzf redland-1.0.14.tar.gz 
cd redland-1.0.14
./configure --enable-static=yes --with-sqlite=no --with-mysql=no --with-bdb=no
make >make.log 2>&1 && sudo make install
cd ..
wget http://www.portaudio.com/archives/pa_stable_v19_20110326.tgz
tar xvzf pa_stable_v19_20110326.tgz 
cd portaudio/
./configure --enable-static=yes --enable-shared=no --with-alsa --without-oss --without-jack
make && sudo make install
cd ..
wget http://downloads.sourceforge.net/project/liblo/liblo/0.26/liblo-0.26.tar.gz
tar xvzf liblo-0.26.tar.gz
cd liblo-0.26
./configure --enable-static
make && sudo make install
cd ..
wget https://github.com/swh/LRDF/tarball/master --no-check-certificate
mv master lrdf.tar.gz
tar xvzf lrdf.tar.gz 
cd swh-LRDF-*
bash autogen.sh
./configure --enable-static=yes
make && sudo make install
cd ..
wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz
tar xvzf libmad-0.15.1b.tar.gz 
cd libmad-0.15.1b
./configure --enable-static
make && sudo make install
cd ..
wget ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.1b.tar.gz
tar xvzf libid3tag-0.15.1b.tar.gz 
cd libid3tag-0.15.1b
./configure --enable-static
make && sudo make install
cd ..
wget http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz
tar xvzf jack-audio-connection-kit-0.121.3.tar.gz
cd jack-audio-connection-kit-0.121.3
./configure --enable-static=yes --disable-oss --enable-alsa
make && sudo make install
cd ..
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz
tar xvzf libogg-1.3.0.tar.gz 
cd libogg-1.3.0
./configure --enable-static=yes
make && sudo make install
cd ..
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.gz
tar xvzf libvorbis-1.3.2.tar.gz 
cd libvorbis-1.3.2
./configure --enable-static=yes
make && sudo make install
cd ..
wget http://downloads.xiph.org/releases/liboggz/liboggz-1.1.1.tar.gz
tar xvzf liboggz-1.1.1.tar.gz 
cd liboggz-1.1.1
ls -l /usr/local/lib/*.a
./configure --enable-static=yes
make && sudo make install
cd ..
wget http://downloads.xiph.org/releases/libfishsound/libfishsound-1.0.0.tar.gz
tar xvzf libfishsound-1.0.0.tar.gz 
cd libfishsound-1.0.0
./configure --enable-static=yes
make && sudo make install
sudo mkdir -p /usr/local/lib/dynamic
sudo mv /usr/local/lib/*.so* /usr/local/lib/*.la /usr/local/lib/dynamic/

for x in svcore svgui svapp sonic-visualiser ; do
 ( cd $x ; QTDIR=../../qt-464-dynamic LDFLAGS=-lz ./configure && make ) || break
done