Installation
Basic Requirements
- The installation requires (and is tested with) automake version 1.7 and autoconf 2.13.
Older versions may cause trouble during installation (1.4 definitely will).
Requirements for Python bindings
- Python at least version 2.3 including Tkinter.
- Tk widget set for the HMMEd graphical editor.
- SWIG
Simplified wrapper interface generator (supported version 1.3.34)
Requirements for C++
NOTE: Development of the C++ wrapper has been discontinued and its use is not actively supported by us.
The C++ sources are NOT included in the latest release 0.7.
If you want to use C++ you have do make a CVS checkout of the release_0_7 branch.
The CVS head version won't compile.
- expat (XML
parser from James Clark)
- xmlio C++ high level
IO library, developed in 2001 by Achim Gädke and Peter
Pipenbacher
Optional
- GSL Version
1.4 or later (GNU scientific library) to replace the internal GHMM-RNG.
What to do?
All packages include the basic GNU build process (configure, make,
make install). For GSL, expat, XMLIO, SWIG, Python, Tcl/Tk see the
installation instructions provided by those packages. Note, SWIG and
XMLIO and ghmm need to be compiled with the same g++ compiler version.
Particularly mixing g++ version 2.95.xx and version 3.x or above
causes link errors due to differences in C++ name mangling. This
extends to ghmm and all C++-libraries you are linking against ghmm
too.
- Checks before you install ghmm: The following commands should
return the path to the places where you installed everything
xmlio-config --prefix (only needed for the deprecated C++ bindings)
gsl-config --prefix (if applicable)
swig -swiglib
Possible sources of errors: Your PATH or LD_LIBRABRY_PATH variable are set
incorrectly
- In the ghmm-directory you checked out of the CVS run
- autogen.sh
- ./configure --prefix=/path/to/install
- There are a number of ghmm specific flags you can use to customize your installation:
disable obsolete features (enabled by default): --disable-obsolete
enable experimental features (default=no): --enable-experimental
enable unsupported features (default=no): --enable-unsupported
use GSL instead of ghmm internal functions (default=no): --enable-gsl
select random number generator ("mt" (default), "bsd" or"gsl"): --with-rng=XXX
enable installation of optional c++ wrapper (default=no): --enable-ghmmXX
disable python wrapper installation: --disable-python
- make
- make install
- In the 'ghmm/ghmmwrapper' directory run
swig -python -nodefault ghmmwrapper.i
python setup.py build
python setup.py install --prefix=/some/where
Installing GHMM with debugger symbols
You need to configure xmlio, ghmm,
swig to use Debug-symbols in the build process by running
./configure CFLAGS=-g CXXFLAGS=-g (and whatever further
options are necessary). The Python extension can be build with the
Debug-symbols using python setup.py build --debug.