Install Apertium core by compiling
Either you are planning to work on Apertium core, or have an operating system not covered by packaging, or virtual environments (check the Install overview).
Unix (GNU/Linux, Apple, BSD)
The below instructions are built from GNU/Linux material, but should be much the same on Apple, BSD, and other Unix-like systems.
Install the prerequisites
Install prerequisites,
Notes for different systems
These notes have been made at different times. Some may be out-of-date. However, if you are having difficulties, they may contain some tips,
- Ubuntu / Debian / other Debian-based
- RHEL / CentOS / Fedora / OpenSUSE
- openSUSE
- Mac OS X
- Arch Linux
- Gentoo
- FreeBSD (untested)
- Slackware
- SliTaz
- Mageia
Use Subversion to download the code
The main code,
svn checkout https://svn.code.sf.net/p/apertium/svn/trunk/lttoolbox svn checkout https://svn.code.sf.net/p/apertium/svn/trunk/apertium svn checkout https://svn.code.sf.net/p/apertium/svn/trunk/apertium-lex-tools
- Note 1: Please make sure that the directory where you put these files (i.e. where you run the
svn
command) doesn't contain spaces and other special characters. That may cause errors while compiling/linking. - Note 2: Sourceforge (https://sourceforge.net/projects/apertium/) naturally provides a full tarball download. Do not use this. The links above have a different address to the main Sourceforge address. They poke nto the SVN repository. The tarball compiles using './configure' instead of './autogen.sh'. Only packagers would be interested in using this.
Set up environment
By default, Apertium is installed under the directory /usr/local
, which requires root (sudo) access when installing. If that's fine with you, begin by pasting these lines into your terminal:
LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH} export PKG_CONFIG_PATH
You should also put those lines in your ~/.bashrc
so you don't have to paste them into every terminal you open.
However, if you want Apertium installed somewhere else or don't want to install it as root, instead paste these lines into your terminal:
PREFIX=$HOME/local # or wherever you want apertium stuff installed LD_LIBRARY_PATH=$PREFIX/lib:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:${PKG_CONFIG_PATH} export PKG_CONFIG_PATH
You should also put those lines in your ~/.bashrc
so you don't have to paste them into every terminal you open.
Configure, build and install
The next step is to configure, build and install each of the modules you checked out, in this order:
lttoolbox
apertium
apertium-lex-tools
cd
to each of the directories before you run the the commands shown below.
If you didn't specify $PREFIX
above, or don't know what this means, then do this in each directory,
./autogen.sh make sudo make install sudo ldconfig
If you specified a $PREFIX
(e.g. to avoid installing as root), then you need to reset the prefix on 'autogen', so do this in each directory,
./autogen.sh --prefix=$PREFIX make make install ldconfig -n $PREFIX/lib
(If you're on a Mac, you don't need to do ldconfig
, don't worry that it fails.)
If you had any trouble, see Installation troubleshooting.
Windows
If you do not want to use the Apertium VirtualBox, you can compile Apertium for Windows using Cygwin; documentation for how to compile on Windows manually is at Apertium on Windows.
There is also a script at Apertium guide for Windows users, but it is currently out-of-date and in need of updating.
Troubleshooting
Compiles go wrong. Of course they do,
- Search the page Installation Troubleshooting for your error message.
Continuing
One way to test you have something, immediately, it to try invoke a tool. Without language data you can't see a translation, but you can see the help. Try,
lt-proc
You may want to write a new language pair, but you could download a language pair to test the install. Follow the instructions for Install language data by compiling. Or, if your system has packaging, download a language package (but beware, a package manager may pull in a old package of Apertium core, too).