NameTag Installation
NameTag 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 NameTag 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 NameTag, a language model is needed. Here is a list of available language models.
If you want to compile NameTag manually, sources are available on on GitHub, both in the pre-compiled binary package releases and in the repository itself.
1. Requirements
G++ 4.7
or newer,clang 3.2
or newer, Visual C++ 2015 or newermake
SWIG
for language bindings other thanC++
2. Compilation
To compile NameTag, run make
in the src
directory.
Make targets and options:
exe
: compile the binaries (default)server
: compile the REST serverlib
: compile NameTag 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=macos
,PLATFORM=macos-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 NameTag binary packages.
To compile C# bindings manually, run make
in the bindings/csharp
directory, optionally with the options described in NameTag Installation.
3.2. Java
Binary Java bindings are available in NameTag binary packages.
To compile Java bindings manually, run make
in the bindings/java
directory, optionally with the options described in NameTag 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-NameTag
package on CPAN.
To compile Perl bindings manually, run make
in the bindings/perl
directory, optionally with the options described in NameTag 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.nametag
package on PyPI.
To compile Python bindings manually, run make
in the bindings/python
directory, optionally with options described in NameTag Installation. Both
Python 2.6+ and Python 3+ are 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