comparison INSTALL.txt @ 2425:6f96db9dfc66

Update the build instructions somewhat
author Chris Cannam
date Thu, 05 Dec 2019 10:04:02 +0000
parents d0f2b80ec564
children 5ecb3a1c0ed3
comparison
equal deleted inserted replaced
2424:1016ec2ba3a4 2425:6f96db9dfc66
2 How to compile Sonic Visualiser from source 2 How to compile Sonic Visualiser from source
3 =========================================== 3 ===========================================
4 4
5 (NOTE: Refer also to .travis.yml and .appveyor.yml to see what the 5 (NOTE: Refer also to .travis.yml and .appveyor.yml to see what the
6 continuous-integration processes do to run a build) 6 continuous-integration processes do to run a build)
7
8 On Windows and Mac is it actually easier to build from a checkout of
9 the Mercurial repository (be sure to update to the appropriate tag if
10 you need a specific release) than it is to build from an official
11 Sonic Visualiser source release package. This is because the
12 repository checkout pulls in some required library builds, while the
13 source package contains only Sonic Visualiser code.
7 14
8 15
9 Windows 16 Windows
10 ------- 17 -------
11 18
22 29
23 Build from the command line, but do not use the configure script. 30 Build from the command line, but do not use the configure script.
24 31
25 Install Qt5, either via Homebrew or from the official installer. 32 Install Qt5, either via Homebrew or from the official installer.
26 33
27 If you are building Sonic Visualiser from a repository checkout, 34 * If you are building from an official source release, make sure the
28 install Poly/ML via Homebrew (`brew install polyml`) and run 35 required dependencies (those libraries marked REQUIRED in the list in
29 `./repoint install` before proceeding. This isn't necessary when 36 the Linux section below) are available, whether installed using
30 building from an official source release. 37 Homebrew or some other method. This isn't necessary when building from
38 a repository checkout.
31 39
32 Then run `qmake -r` and `make`. (You may need to provide the full path 40 * If you are building from a repository checkout, install Poly/ML via
33 to the correct `qmake` executable for the version of Qt you want to 41 Homebrew (`brew install polyml`) and run `./repoint install` before
34 build with.) 42 proceeding. This isn't necessary when building from an official source
43 release.
44
45 Then run `qmake -r sonic-visualiser.pro` and `make`. (You may need to
46 provide the full path to the correct `qmake` executable for the
47 version of Qt you want to build with.)
35 48
36 49
37 Linux 50 Linux
38 ----- 51 -----
39 52
40 $ ./configure && make && make install 53 $ ./configure && make && make install
41 54
42 The following additional libraries are required or optional: 55 The following additional libraries are required or optional:
43 56
44 REQUIRED Qt v5 http://qt-project.org/ 57 REQUIRED Qt v5 http://www.qt.io/
45 REQUIRED Vamp Plugin SDK v2.x http://www.vamp-plugins.org/
46 REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/ 58 REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/
47 REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/ 59 REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/
48 REQUIRED libsamplerate http://www.mega-nerd.com/SRC/ 60 REQUIRED libsamplerate http://www.mega-nerd.com/SRC/
49 REQUIRED FFTW3 http://www.fftw.org/ 61 REQUIRED FFTW3 http://www.fftw.org/
50 REQUIRED bzip2 library http://www.bzip.org/ 62 REQUIRED bzip2 library http://www.bzip.org/
51 REQUIRED Sord and Serd libraries http://drobilla.net/software/ 63 REQUIRED Sord and Serd libraries http://drobilla.net/software/
52 REQUIRED Cap'n Proto http://capnproto.org/ 64 REQUIRED Cap'n Proto http://capnproto.org/
65 REQUIRED MAD mp3 decoder http://www.underbit.com/products/mad/
66 REQUIRED Oggz and fishsound http://xiph.org/oggz/
67 REQUIRED Opus http://www.opus-codec.org/
53 68
54 Optional MAD mp3 decoder http://www.underbit.com/products/mad/
55 Optional Oggz and fishsound http://xiph.org/oggz/
56 Optional liblo OSC library http://www.plugin.org.uk/liblo/ 69 Optional liblo OSC library http://www.plugin.org.uk/liblo/
57 Optional JACK http://www.jackaudio.org/ 70 Optional JACK http://www.jackaudio.org/
58 Optional PortAudio v19 http://www.portaudio.com/ 71 Optional PortAudio v19 http://www.portaudio.com/
59 Optional PulseAudio http://www.pulseaudio.org/ 72 Optional PulseAudio http://www.pulseaudio.org/
60 73
63 playback. Usually JACK is preferred on Linux, with PulseAudio as a 76 playback. Usually JACK is preferred on Linux, with PulseAudio as a
64 backup, and PortAudio is used elsewhere. 77 backup, and PortAudio is used elsewhere.
65 78
66 On Linux, you will need the ALSA libraries (used for MIDI). 79 On Linux, you will need the ALSA libraries (used for MIDI).
67 80
68 For Cap'n Proto, currently you will need the v0.6 release which (if 81 For Cap'n Proto you will need v0.6 or newer.
69 not available as a package) can be obtained from the releases page on
70 Github. To build it, you might do something like
71
72 $ curl -L -o capnproto-v0.6.0.tar.gz https://github.com/sandstorm-io/capnproto/archive/v0.6.0.tar.gz
73 $ tar xf capnproto-v0.6.0.tar.gz
74 $ cd capnproto-0.6.0/c++
75 $ autoreconf -i
76 $ ./configure --enable-static --disable-shared
77 $ make && make install
78 82
79 For the rest, if you happen to be using a Debian-based Linux, you 83 For the rest, if you happen to be using a Debian-based Linux, you
80 probably want to apt install something like the following packages: 84 probably want to apt install something like the following packages:
81 85
82 build-essential libbz2-dev libfftw3-dev libfishsound1-dev 86 build-essential libbz2-dev libfftw3-dev libfishsound1-dev
83 libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev 87 libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev
84 libpulse-dev libsamplerate-dev libsndfile-dev libsord-dev 88 libopus-dev libopusfile-dev libpulse-dev libsamplerate-dev
85 libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor-utils 89 libsndfile-dev libsord-dev libxml2-utils portaudio19-dev qt5-default
86 librubberband-dev git mercurial autoconf automake libtool mlton 90 libqt5svg5-dev raptor-utils librubberband-dev git mercurial autoconf
91 automake libtool mlton
87 92
88 If you are building Sonic Visualiser from a repository checkout, then 93 If you are building Sonic Visualiser from a repository checkout, then
89 the configure script will use Repoint to obtain further checkouts of 94 the configure script will use Repoint to obtain further checkouts of
90 various modules. You will need to have a SML compiler installed for 95 various modules. You will need to have a SML compiler installed for
91 this to work, such as SML/NJ, MLton, or Poly/ML - hence the presence 96 this to work, such as SML/NJ, MLton, or Poly/ML - hence the presence