Skip to content
Snippets Groups Projects
Commit 32a523f3 authored by ale's avatar ale
Browse files

updated build instructions

parent 7f242440
Branches
No related tags found
No related merge requests found
...@@ -42,40 +42,85 @@ machines. ...@@ -42,40 +42,85 @@ machines.
Building Building
-------- --------
Dependencies: Base dependencies:
- portaudio - Go (at least version 1.2)
- leveldb - LevelDB
- libtool
- fftw
- pcre
To build djrandom on GNU/Linux:: Note that the LevelDB version in Debian wheezy is too old with
respect to the Go bindings, so you might need to compile it from
source.
You'll need to check out the source repository at the right place
in your ``GOPATH``::
$ mkdir -p $GOPATH/src/git.autistici.org/ale
$ cd $GOPATH/src/git.autistici.org/ale
$ git clone https://git.autistici.org/ale/imms.git imms
$ cd imms
$ aclocal ; libtoolize ; automake --foreign --add-missing ; autoconf
$ ./configure && make && sudo make install
$ go get -d git.autistici.org/ale/djrandom $ go get -d git.autistici.org/ale/djrandom
$ cd $GOPATH/src/git.autistici.org/ale/djrandom
$ go get -v ./...
$ ./mkclientdist.sh
To build only the client you can run the following command instead of Once this is done, choose whether you want to build the full suite
``go get -v ./...``:: or just the clients (which have a much smaller set of dependencies).
Building the clients
~~~~~~~~~~~~~~~~~~~~
The DJRandom client suite need the PortAudio library (version 1.9
or higher) to talk to the audio device, and either ``ffmpeg`` or
the ``libav`` suite (``avconv``).
On a Debian-based system, ``apt-get install libav-tools portaudio19-dev``
should do.
* install the Go package dependencies:
$ go get git.autistici.org/ale/djrandom/client/...
* install the client binaries::
$ go install git.autistici.org/ale/djrandom/client/...
You should now have ``djplay``, ``djupload`` and ``djmpd`` in ``$GOPATH/bin``.
$ go get -v ./client/...
To build djrandom on OS X you can install all the dependencies with Building the service
`homebrew`:: ~~~~~~~~~~~~~~~~~~~~
Server-side components have quite a few dependencies on third-party
libraries, including one that is not packaged in distributions
and has to be built manually (imms):
- a basic C/C++ build environment
- GNU autotools
- GNU libtool
- FFTW (v3)
- PCRE
- IMMS (see below)
On a Debian system, install the required packages with::
$ apt-get install build-essential autoconf automake libtool \
pkg-config libfftw3-dev libpcre3-dev
On OSX, using ``brew``::
$ brew install portaudio leveldb libtool fftw pcre $ brew install portaudio leveldb libtool fftw pcre
You also have to use ``glibtoolize`` instead of ``libtoolize``:: To build IMMS::
$ go get -d git.autistici.org/ale/imms
$ cd $GOPATH/src/git.autistici.org/ale/imms
$ aclocal ; libtoolize ; automake --foreign --add-missing ; autoconf
$ ./configure && make && sudo make install
(on OSX, you might have to use ``glibtoolize`` instead of ``libtoolize``).
You should now be able to build all the server-side tools with::
$ cd $GOPATH/src/git.autistici.org/ale/djrandom
$ go get -v ./server/...
$ go install -v ./server/...
$ go get -v ./mapreduce/...
$ go install -v ./mapreduce/...
$ aclocal ; glibtoolize ; automake --foreign --add-missing ; autoconf
Running the upload client Running the upload client
------------------------- -------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment