annotate INSTALL.txt @ 2160:d0f2b80ec564

Minor updates to build text
author Chris Cannam
date Thu, 13 Dec 2018 19:02:50 +0000
parents ac587ccb08bd
children 6f96db9dfc66
rev   line source
Chris@350 1
Chris@2160 2 How to compile Sonic Visualiser from source
Chris@2160 3 ===========================================
Chris@2160 4
Chris@2160 5 (NOTE: Refer also to .travis.yml and .appveyor.yml to see what the
Chris@2160 6 continuous-integration processes do to run a build)
Chris@2160 7
Chris@350 8
Chris@1671 9 Windows
Chris@1671 10 -------
Chris@350 11
Chris@1671 12 Use the Qt Creator IDE with either the MinGW compiler (for 32-bit
Chris@1671 13 builds) or Visual C++ (for 64-bit builds).
Chris@350 14
Chris@1671 15 For details, see the wiki page at
Chris@1671 16
Chris@1671 17 https://code.soundsoftware.ac.uk/projects/sonic-visualiser/wiki/WindowsBuild30
Chris@1671 18
Chris@1671 19
Chris@1671 20 MacOS
Chris@1671 21 -----
Chris@1671 22
Chris@2160 23 Build from the command line, but do not use the configure script.
cannam@1725 24
Chris@2160 25 Install Qt5, either via Homebrew or from the official installer.
Chris@2160 26
Chris@2160 27 If you are building Sonic Visualiser from a repository checkout,
Chris@2160 28 install Poly/ML via Homebrew (`brew install polyml`) and run
Chris@2160 29 `./repoint install` before proceeding. This isn't necessary when
Chris@2160 30 building from an official source release.
Chris@2160 31
Chris@2160 32 Then run `qmake -r` and `make`. (You may need to provide the full path
Chris@2160 33 to the correct `qmake` executable for the version of Qt you want to
Chris@2160 34 build with.)
Chris@1671 35
Chris@1671 36
Chris@1671 37 Linux
Chris@1671 38 -----
Chris@1671 39
Chris@1671 40 $ ./configure && make && make install
Chris@1671 41
Chris@1671 42 The following additional libraries are required or optional:
Chris@350 43
Chris@1673 44 REQUIRED Qt v5 http://qt-project.org/
Chris@1673 45 REQUIRED Vamp Plugin SDK v2.x http://www.vamp-plugins.org/
Chris@1673 46 REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/
Chris@1673 47 REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/
Chris@1673 48 REQUIRED libsamplerate http://www.mega-nerd.com/SRC/
Chris@1673 49 REQUIRED FFTW3 http://www.fftw.org/
Chris@1673 50 REQUIRED bzip2 library http://www.bzip.org/
Chris@1673 51 REQUIRED Sord and Serd libraries http://drobilla.net/software/
Chris@1673 52 REQUIRED Cap'n Proto http://capnproto.org/
Chris@350 53
Chris@1673 54 Optional MAD mp3 decoder http://www.underbit.com/products/mad/
Chris@1673 55 Optional Oggz and fishsound http://xiph.org/oggz/
Chris@1673 56 Optional liblo OSC library http://www.plugin.org.uk/liblo/
Chris@1673 57 Optional JACK http://www.jackaudio.org/
Chris@1673 58 Optional PortAudio v19 http://www.portaudio.com/
Chris@1673 59 Optional PulseAudio http://www.pulseaudio.org/
Chris@350 60
Chris@350 61 Although JACK, PortAudio, and PulseAudio are individually optional,
Chris@1671 62 you will need to have at least one of them in order to get any audio
Chris@1671 63 playback. Usually JACK is preferred on Linux, with PulseAudio as a
Chris@1671 64 backup, and PortAudio is used elsewhere.
Chris@350 65
Chris@350 66 On Linux, you will need the ALSA libraries (used for MIDI).
Chris@350 67
Chris@1700 68 For Cap'n Proto, currently you will need the v0.6 release which (if
Chris@1700 69 not available as a package) can be obtained from the releases page on
Chris@1700 70 Github. To build it, you might do something like
Chris@350 71
Chris@1700 72 $ curl -L -o capnproto-v0.6.0.tar.gz https://github.com/sandstorm-io/capnproto/archive/v0.6.0.tar.gz
Chris@1700 73 $ tar xf capnproto-v0.6.0.tar.gz
Chris@1700 74 $ cd capnproto-0.6.0/c++
Chris@1700 75 $ autoreconf -i
Chris@1671 76 $ ./configure --enable-static --disable-shared
Chris@1671 77 $ make && make install
Chris@1671 78
Chris@1671 79 For the rest, if you happen to be using a Debian-based Linux, you
Chris@1671 80 probably want to apt install something like the following packages:
Chris@1671 81
Chris@1671 82 build-essential libbz2-dev libfftw3-dev libfishsound1-dev
Chris@1671 83 libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev
Chris@1671 84 libpulse-dev libsamplerate-dev libsndfile-dev libsord-dev
Chris@1671 85 libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor-utils
Chris@2124 86 librubberband-dev git mercurial autoconf automake libtool mlton
Chris@1671 87
Chris@2160 88 If you are building Sonic Visualiser from a repository checkout, then
Chris@2160 89 the configure script will use Repoint to obtain further checkouts of
Chris@2160 90 various modules. You will need to have a SML compiler installed for
Chris@2124 91 this to work, such as SML/NJ, MLton, or Poly/ML - hence the presence
Chris@2124 92 of mlton in the Debian package list above. This is not necessary when
Chris@2124 93 building from an official Sonic Visualiser source release.
Chris@2124 94