Building the Software


Prior to building these are the required tools:

  • Git
  • Your operating system build essentials/toolchains (C compiler, gcc, make etc...)
  • Lua version 5.1.x (or 5.2, support is rather experimental)
  • Lua development libraries and toolchains

And the following hard dependencies:

  • GNU Libidn
  • OpenSSL development libraries
  • LuaSocket version 3.x
  • LuaExpat version 1.2.x
  • LuaFileSystem version 1.x
  • LuaEvent version 0.4.x or above

Optionally also:

  • LuaSec version 0.5 or above
  • lua-zlib (brimworks' version), required for stream compression you can obtain it from here: http://github.com/brimworks/lua-zlib/downloads
  • LuaDBI version 0.5 or above, required to use RDB storage.

Prosody's Package Repository ("Prosody's PP"):

If you run on debian-like linux almost all required and optional binary packages for the above mentioned libraries can be obtained there, see: http://prosody.im/download/package_repository#debianubuntu

Ubuntu apt-get line to install the required software and libraries (probably outdated):

sudo apt-get install libssl-dev libidn11-dev build-essentials lua5.1 liblua5.1-dev liblua5.1-bitop-dev liblua5.1-expat-dev liblua5.1-event-dev lua5.1-posix-dev lua5.1-sec-dev lua5.1-socket-dev lua5.1-filesystem-dev

Example build commands syntax on a Linux system:

./configure --ostype=linux --prefix=/usr --with-lua-include=/usr/include/lua5.1 --with-lua=/usr/bin/lua5.1 --with-lua-lib=/usr/lib/lua/5.1 --lua-suffix=5.1 --sysconfdir=/etc/metronome --datadir=/var/lib/metronome
make
sudo make install

This will build Metronome and install it system wide into /usr/lib/metronome, have configuration stored into /etc/metronome and the datadir root located in /var/lib/metronome

Metronome's AUR Package:

Optionally if you run Arch Linux or a Arch Linux based distribution, there's a community provided package which will fetch Metronome latest tip from our repository and build it. You can find it here:

https://aur.archlinux.org/packages/metronome-git/

You can install it just by issuing: yaourt metronome-git