# Requirements

To install FreeLing you'll need:

- A typical Linux box with usual development tools:
  - bash
  - make
  - C++ compiler with basic STL support (e.g. g++ version 3.x)

- Enough hard disk space (about 50Mb)

- Some external libraries are required to compile FreeLing:
  pcre
    (version 4.3 or higher) Perl C Regular Expressions. Included in most usual Linux distributions. Just make sure you have it installed.
    Also available from `http://www.pcre.org`

  db
    (version 4.1.25 or higher) Berkeley DB. Included in all usual Linux distributions. You probably have it already installed. Make sure of it, and that C++ support is also installed (may come in a separate package).
    Also available from `http://www.sleepycat.com`. Do not install it twice unless you know what you are doing.

  libcfg+
    (version 0.6.1 or higher) Configuration file and command-line options management. May not be in your linux distribution.
    Available from `http://www.platon.sk/projects/libcfg+/`, follow installation instructions provided in the libcfg+ package.

  Omlet & Fries
    (omlet v.0.96 or higher, fries v.0.93 or higher) Machine Learning utility libraries, used by Named Entity Classifier. Installation scrips are not very clever, so these libraries are required even if you do not plan to use the NEC ability of FreeLing. Available from `http://www.lsi.upc.edu/~ /nlp/omlet+fries`

Note that you'll need both the binary libraries and their source headers (in some distributions the headers come in a separate package tagged `-devel` or `-dev`, e.g. the libpcre library may be distributed in two packages: the first, say `libpcre-4.3.rpm`, contains the binary libraries, and the second, say `libpcre-devel-4.3.rpm`, provides the source headers)

Note also that if you (or the library package) install those libraries or headers in non-standard directories (that is, other than `/usr/lib` or `/usr/local/lib` for libraries, or other than `/usr/include` or `/usr/local/include` for headers) you may need to use the `CPPFLAGS` or `LDFLAGS` variables to properly run `./configure` script.

For instance, if you installed BerkeleyDB from a `rpm` package, the `db_cxx.h` header file may be located at `/usr/include/db4` instead of the default `/usr/include`. So, if `./configure` complains about not finding the library header, you'll have to specify where to find it:
`./configure CPPFLAGS='-I/usr/include/db4'`

The BerkeleyDB package is probably installed in your system, but you may need to install C++ support, which (depending on your distribution) may be found in a separate package (such as db4-cxx.rpm, db4-cxx-devel.rpm, or the like).

See next section and INSTALL file for further details.