# HG changeset patch # User Chris Cannam # Date 1575540242 0 # Node ID 6f96db9dfc66424d7219acff195dbe3f3f6e47c7 # Parent 1016ec2ba3a4e743015b4dcebf1439825a5797d5 Update the build instructions somewhat diff -r 1016ec2ba3a4 -r 6f96db9dfc66 INSTALL.txt --- a/INSTALL.txt Thu Dec 05 09:00:34 2019 +0000 +++ b/INSTALL.txt Thu Dec 05 10:04:02 2019 +0000 @@ -5,6 +5,13 @@ (NOTE: Refer also to .travis.yml and .appveyor.yml to see what the continuous-integration processes do to run a build) +On Windows and Mac is it actually easier to build from a checkout of +the Mercurial repository (be sure to update to the appropriate tag if +you need a specific release) than it is to build from an official +Sonic Visualiser source release package. This is because the +repository checkout pulls in some required library builds, while the +source package contains only Sonic Visualiser code. + Windows ------- @@ -24,14 +31,20 @@ Install Qt5, either via Homebrew or from the official installer. -If you are building Sonic Visualiser from a repository checkout, -install Poly/ML via Homebrew (`brew install polyml`) and run -`./repoint install` before proceeding. This isn't necessary when -building from an official source release. + * If you are building from an official source release, make sure the +required dependencies (those libraries marked REQUIRED in the list in +the Linux section below) are available, whether installed using +Homebrew or some other method. This isn't necessary when building from +a repository checkout. -Then run `qmake -r` and `make`. (You may need to provide the full path -to the correct `qmake` executable for the version of Qt you want to -build with.) + * If you are building from a repository checkout, install Poly/ML via +Homebrew (`brew install polyml`) and run `./repoint install` before +proceeding. This isn't necessary when building from an official source +release. + +Then run `qmake -r sonic-visualiser.pro` and `make`. (You may need to +provide the full path to the correct `qmake` executable for the +version of Qt you want to build with.) Linux @@ -41,8 +54,7 @@ The following additional libraries are required or optional: -REQUIRED Qt v5 http://qt-project.org/ -REQUIRED Vamp Plugin SDK v2.x http://www.vamp-plugins.org/ +REQUIRED Qt v5 http://www.qt.io/ REQUIRED Rubber Band Library http://www.breakfastquay.com/rubberband/ REQUIRED libsndfile http://www.mega-nerd.com/libsndfile/ REQUIRED libsamplerate http://www.mega-nerd.com/SRC/ @@ -50,9 +62,10 @@ REQUIRED bzip2 library http://www.bzip.org/ REQUIRED Sord and Serd libraries http://drobilla.net/software/ REQUIRED Cap'n Proto http://capnproto.org/ +REQUIRED MAD mp3 decoder http://www.underbit.com/products/mad/ +REQUIRED Oggz and fishsound http://xiph.org/oggz/ +REQUIRED Opus http://www.opus-codec.org/ -Optional MAD mp3 decoder http://www.underbit.com/products/mad/ -Optional Oggz and fishsound http://xiph.org/oggz/ Optional liblo OSC library http://www.plugin.org.uk/liblo/ Optional JACK http://www.jackaudio.org/ Optional PortAudio v19 http://www.portaudio.com/ @@ -65,25 +78,17 @@ On Linux, you will need the ALSA libraries (used for MIDI). -For Cap'n Proto, currently you will need the v0.6 release which (if -not available as a package) can be obtained from the releases page on -Github. To build it, you might do something like - -$ curl -L -o capnproto-v0.6.0.tar.gz https://github.com/sandstorm-io/capnproto/archive/v0.6.0.tar.gz -$ tar xf capnproto-v0.6.0.tar.gz -$ cd capnproto-0.6.0/c++ -$ autoreconf -i -$ ./configure --enable-static --disable-shared -$ make && make install +For Cap'n Proto you will need v0.6 or newer. For the rest, if you happen to be using a Debian-based Linux, you probably want to apt install something like the following packages: build-essential libbz2-dev libfftw3-dev libfishsound1-dev libid3tag0-dev liblo-dev liblrdf0-dev libmad0-dev liboggz2-dev -libpulse-dev libsamplerate-dev libsndfile-dev libsord-dev -libxml2-utils portaudio19-dev qt5-default libqt5svg5-dev raptor-utils -librubberband-dev git mercurial autoconf automake libtool mlton +libopus-dev libopusfile-dev libpulse-dev libsamplerate-dev +libsndfile-dev libsord-dev libxml2-utils portaudio19-dev qt5-default +libqt5svg5-dev raptor-utils librubberband-dev git mercurial autoconf +automake libtool mlton If you are building Sonic Visualiser from a repository checkout, then the configure script will use Repoint to obtain further checkouts of