Building Museek from Sources


Before Building…

Museek uses the SConstruct build system ([www.scons.org]) for building and installing all components.
Don't try to build anything before you have scons installed on you distrib.


Required Build Dependencies

Museek depends on:

  • libxml++-1.0.x or 2.6.x

Museeq (the Qt GUI) depends on:

  • QT 3.2 or newer
  • QSA 1.1 or newer (optional) for scripting support

The build system depends on:

  • Python (including pyexpat for musetup)
  • SConstruct (included with release tarballs)
  • A C compiler
  • A C++ compiler with access to an STL implementation that has wstring support (no MacOSX, Cygwin or FreeBSD4).
  • Development packages for libxml++ and optionally QT
  • Swig, for the Mucipher python bindings


Quick'n'Dirty

For the impatient and/or people with AD(H)D, just run:

scons install


Using the Build System

scons [options]... [targets]...


* Available options

The Rembember column means the option will be kept between several scons runs.

Name Description Default Remember
PREFIX=prefix Install prefix, where to install Museek to '/usr/local/' yes
BINDIR=prefix Binary directory, where to install binaries to '$PREFIX/bin' yes
DATADIR=prefix Data directory, where to install data files '$PREFIX/share/museek' yes
MANDIR=yes/no Man Page dictory, where to install man pages '$PREFIX/man/man1' yes
DESTDIR=prefix Installation destination dir, useful for package builders none no
BUILDDIR=yes/no Build to build-platform-arch subdirectory yes yes
RELEASE=yes/no Build for release with optimizations and without debugging information (only for gcc) no yes
CFLAGS=fPIC,Wall,pipe,g,O0,O1,O2,O3,funrollloop,Os,fomit-frame-pointer Which CCFLAGS to use. (Do not prepend the dash "-" ) 'fPIC,Wall,pipe' yes
MULOG=debug,cycle,calltrace,traffictime Which debugging messages to include debug yes
EPOLL=yes/no Use epoll when available (linux 2.6+) yes yes
VORBIS=yes/no Use OGG VORBIS support when available yes yes
MUCOUS=yes/no If pymucipher is available, install mucous yes yes
MUSEEQ=yes/no Test for Qt, and if available, build museeq yes yes
ONLYMUSEEQ=yes/no Only compile Mucipher and museeq no yes
QSA=yes/no Test for QSA, and if available, build museeq with it yes
QTDIR=prefix Directory where Qt can be found (should have an include and lib subdirectory) auto-detect yes
QT_LIB=lib Specify which Qt library to use 'qt' with fallback to 'qt-mt' yes


* Available Build Targets

Name Description
museekd Build the museek daemon
Tools Build the museek tools (only muscan for now)
museeq Build the QT GUI to museekd
install_museekd Install museekd
install_museeq Install museeq
install_muscan Install the museek file scanner, muscan
install_mucand Install the file scanning daemon, muscand
install_tools Install the museek tools (read: muscan & muscand)
install_mucipher Install language bindings for Mucipher (cipher library)
install_pymuseekd Install python bindings for Museekd, mulog, and musetup
install Install all of the above

Default targets that are built: museekd, Tools, museeq