annotate INSTALL.txt @ 2596:04d381f0d89a tip

Default branch is now named default on git as well as hg, in case we ever want to switch to mirroring in the other direction
author Chris Cannam
date Thu, 27 Aug 2020 15:58:56 +0100
parents 2de306979a2a
children
rev   line source
Chris@350 1
Chris@2160 2 How to compile Sonic Visualiser from source
Chris@2160 3 ===========================================
Chris@2160 4
Chris@2594 5 (NOTE: Refer also to .travis.yml and .appveyor.yml to how the
Chris@2594 6 continuous-integration processes run a build)
Chris@2160 7
Chris@2594 8 On Windows and Mac it is perhaps easier to build from a checkout of
Chris@2425 9 the Mercurial repository (be sure to update to the appropriate tag if
Chris@2425 10 you need a specific release) than it is to build from an official
Chris@2425 11 Sonic Visualiser source release package. This is because the
Chris@2425 12 repository checkout pulls in some required library builds, while the
Chris@2425 13 source package contains only Sonic Visualiser code.
Chris@2425 14
Chris@2594 15 On Linux it is simpler to build from a source package.
Chris@2594 16
Chris@350 17
Chris@1671 18 Windows
Chris@1671 19 -------
Chris@350 20
Chris@1671 21 Use the Qt Creator IDE with either the MinGW compiler (for 32-bit
Chris@1671 22 builds) or Visual C++ (for 64-bit builds).
Chris@350 23
Chris@1671 24 For details, see the wiki page at
Chris@1671 25
Chris@1671 26 https://code.soundsoftware.ac.uk/projects/sonic-visualiser/wiki/WindowsBuild30
Chris@1671 27
Chris@1671 28
Chris@1671 29 MacOS
Chris@1671 30 -----
Chris@1671 31
Chris@2160 32 Build from the command line, but do not use the configure script.
cannam@1725 33
Chris@2160 34 Install Qt5, either via Homebrew or from the official installer.
Chris@2160 35
Chris@2425 36 * If you are building from a repository checkout, install Poly/ML via
Chris@2425 37 Homebrew (`brew install polyml`) and run `./repoint install` before
Chris@2425 38 proceeding. This isn't necessary when building from an official source
Chris@2425 39 release.
Chris@2425 40
Chris@2426 41 * If you are building from an official source release, make sure the
Chris@2426 42 following required dependencies are available, whether installed using
Chris@2426 43 Homebrew or some other method: (This isn't necessary when building
Chris@2426 44 from a repository checkout)
Chris@2426 45
Chris@2426 46 REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/
Chris@2426 47 REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/
Chris@2426 48 REQUIRED libsamplerate http://www.mega-nerd.com/SRC/
Chris@2426 49 REQUIRED FFTW3 http://www.fftw.org/
Chris@2426 50 REQUIRED bzip2 library http://www.bzip.org/
Chris@2426 51 REQUIRED Sord and Serd libraries http://drobilla.net/software/
Chris@2426 52 REQUIRED Cap'n Proto http://capnproto.org/
Chris@2426 53
Chris@2425 54 Then run `qmake -r sonic-visualiser.pro` and `make`. (You may need to
Chris@2425 55 provide the full path to the correct `qmake` executable for the
Chris@2425 56 version of Qt you want to build with.)
Chris@1671 57
Chris@1671 58
Chris@1671 59 Linux
Chris@1671 60 -----
Chris@1671 61
Chris@1671 62 $ ./configure && make && make install
Chris@1671 63
Chris@1671 64 The following additional libraries are required or optional:
Chris@350 65
Chris@2425 66 REQUIRED Qt v5 http://www.qt.io/
Chris@1673 67 REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/
Chris@1673 68 REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/
Chris@1673 69 REQUIRED libsamplerate http://www.mega-nerd.com/SRC/
Chris@1673 70 REQUIRED FFTW3 http://www.fftw.org/
Chris@1673 71 REQUIRED bzip2 library http://www.bzip.org/
Chris@1673 72 REQUIRED Sord and Serd libraries http://drobilla.net/software/
Chris@1673 73 REQUIRED Cap'n Proto http://capnproto.org/
Chris@2425 74 REQUIRED MAD mp3 decoder http://www.underbit.com/products/mad/
Chris@2425 75 REQUIRED Oggz and fishsound http://xiph.org/oggz/
Chris@2425 76 REQUIRED Opus http://www.opus-codec.org/
Chris@350 77
Chris@1673 78 Optional liblo OSC library http://www.plugin.org.uk/liblo/
Chris@1673 79 Optional JACK http://www.jackaudio.org/
Chris@1673 80 Optional PortAudio v19 http://www.portaudio.com/
Chris@1673 81 Optional PulseAudio http://www.pulseaudio.org/
Chris@350 82
Chris@350 83 Although JACK, PortAudio, and PulseAudio are individually optional,
Chris@1671 84 you will need to have at least one of them in order to get any audio
Chris@1671 85 playback. Usually JACK is preferred on Linux, with PulseAudio as a
Chris@1671 86 backup, and PortAudio is used elsewhere.
Chris@350 87
Chris@350 88 On Linux, you will need the ALSA libraries (used for MIDI).
Chris@350 89
Chris@2425 90 For Cap'n Proto you will need v0.6 or newer.
Chris@1671 91
Chris@1671 92 For the rest, if you happen to be using a Debian-based Linux, you
Chris@1671 93 probably want to apt install something like the following packages:
Chris@1671 94
Chris@2594 95 build-essential libbz2-dev libfftw3-dev libfishsound1-dev libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev libopus-dev libopusfile-dev libpulse-dev libsamplerate-dev libsndfile-dev libsord-dev libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor2-utils librubberband-dev capnproto libcapnp-dev git mercurial autoconf automake libtool mlton
Chris@1671 96
Chris@2160 97 If you are building Sonic Visualiser from a repository checkout, then
Chris@2160 98 the configure script will use Repoint to obtain further checkouts of
Chris@2594 99 various dependencies. You will need to have a SML compiler installed
Chris@2594 100 for this to work, such as SML/NJ, MLton, or Poly/ML - hence the
Chris@2594 101 presence of mlton in the Debian package list above. This is not
Chris@2594 102 necessary when building from an official Sonic Visualiser source
Chris@2594 103 release.
Chris@2124 104