Mercurial > hg > sonic-visualiser
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 |