OpenGrm NGram README

OpenGrm NGram - Release 1.3

The OpenGrm NGram library is used for making and modifying n-gram language models encoded as weighted finite-state transducers (FSTs).
It makes use of functionality in the OpenFst library to create, access and manipulate n-gram models.

REQUIREMENTS:

This version is known to work under Linux using
g++ (≥ 4.6) and MacOS X using XCode 5. Expected to work wherever adequate POSIX (dlopen, ssize_t, basename), c99 (snprintf, strtoll, <stdint.h>), and C++11 (<ordered_set>, <ordered_map>, <forward_list>) support are available.
T
It assumes you have installed OpenFst (www.openfst.org) 1.6.6 or higher and have configured it with it with the --enable-far flag.

INSTALLATION:

Follow the generic GNU build system instructions in ./INSTALL. We recommend configuring with --enable-static=no for faster compiles.

Configuring with --enable-bin=no gives very fast compiles, but excludes the command line utilities.

Compiling with -Wall -Wno-sign-compare under g++ should give no warnings from this library.

NOTE: In some versions of MacOS X we have noticed a problem with configure whereby it fails to find fst.h. If this occurs, try configuring as follows:

CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure

USAGE:

Assuming you've installed under the default /usr/local, the GRM binaries are found on /usr/local/bin. Headers will be in /usr/local/include/ngram, and libraries in /usr/local/lib.

To use in your own programs you will need to include <ngram/ngram.h>. Compile with '-I /usr/local/include' and link against /usr/local/lib/libfst.so,
/usr/local/lib/fst/libfstfar.so and /usr/local/lib/libngram.so. Set your LD_LIBRARY_PATH (or equivalent) to contain /usr/local/lib.

The linking is, by default, dynamic so that the Fst and Arc type DSO extensions can be used correctly if desired.