MorphoDiTa Installation
MorphoDiTa releases are available on GitHub, either as a pre-compiled binary package, or source code only. The binary package contains Linux, Windows and OS X binaries, Java bindings binary, C# bindings binary, and source code of MorphoDiTa and all language bindings. While the binary packages do not contain compiled Python or Perl bindings, packages for those languages are available in standard package repositories, i.e. on PyPI and CPAN.
To use MorphoDiTa, a language model is needed. Here is a list of available language models.
If you want to compile MorphoDiTa manually, sources are available on on GitHub, both in the pre-compiled binary package releases and in the repository itself.
1. Requirements
G++ 4.9
or newer,clang 3.2
or newer, Visual C++ 2015 or newermake
SWIG
or newer for language bindings other thanC++
2. Compilation
To compile MorphoDiTa, run make
in the src
directory.
Make targets and options:
exe
: compile the binaries (default)server
: compile the REST servertools
: compile various toolslib
: compile MorphoDiTa library (decoding only)BITS=32
orBITS=64
: compile for specified 32-bit or 64-bit architecture instead of the default oneMODE=release
: create release build which statically links the C++ runtime and uses LTOMODE=debug
: create debug buildMODE=profile
: create profile build
2.1. Platforms
Platform can be selected using one of the following options:
PLATFORM=linux
,PLATFORM=linux-gcc
: gcc compiler on Linux operating system, default on LinuxPLATFORM=linux-clang
: clang compiler on Linux, must be selected manuallyPLATFORM=osx
,PLATFORM=osx-clang
: clang compiler on OS X, default on OS X;BITS=32+64
enables multiarch buildPLATFORM=win
,PLATFORM=win-gcc
: gcc compiler on Windows (TDM-GCC is well tested), default on WindowsPLATFORM=win-vs
: Visual C++ 2015 compiler on Windows, must be selected manually; note that thecl.exe
compiler must be already present inPATH
and correspondingBITS=32
orBITS=64
must be specified
Either POSIX shell or Windows CMD can be used as shell, it is detected automatically.
2.2. Further Details
MorphoDiTa uses C++ BuilTem system, please refer to its manual if interested in all supported options.
3. Other language bindings
3.1. C#
Binary C# bindings are available in MorphoDiTa binary packages.
To compile C# bindings manually, run make
in the bindings/csharp
directory, optionally with the options descriged in MorphoDiTa Installation.
3.2. Java
Binary Java bindings are available in MorphoDiTa binary packages.
To compile Java bindings manually, run make
in the bindings/java
directory, optionally with the options descriged in MorphoDiTa Installation.
Java 6 and newer is supported.
The Java installation specified in the environment variable JAVA_HOME
is
used. If the environment variable does not exist, the JAVA_HOME
can be
specified using
make JAVA_HOME=path_to_Java_installation
3.3. Perl
The Perl bindings are available as Ufal-MorphoDiTa
package on CPAN.
To compile Perl bindings manually, run make
in the bindings/perl
directory, optionally with the options descriged in MorphoDiTa Installation.
Perl 5.10 and later is supported.
Path to the include headers of the required Perl version must be specified
in the PERL_INCLUDE
variable using
make PERL_INCLUDE=path_to_Perl_includes
3.4. Python
The Python bindings are available as ufal.morphodita
package on PyPI.
To compile Python bindings manually, run make
in the bindings/python
directory, optionally with options descriged in MorphoDiTa Installation.
Python 3+ is supported.
Path to the include headers of the required Python version must be specified
in the PYTHON_INCLUDE
variable using
make PYTHON_INCLUDE=path_to_Python_includes