Apertium on Ubuntu or Debian

From Apertium
Revision as of 13:34, 3 June 2010 by Unhammer (talk | contribs) (moved old stuff onto discussion page)
Jump to navigation Jump to search

If you just want to use Apertium for translation, and don't want to develop anything, you can probably just search for, tick off and install Apertium and your favorite language pairs in Synaptic. This should install the required dependencies too.

If you want to contribute to Apertium or change how it runs in any way, you'll want to install from SVN. Read on below.

Installing by SVN (for all versions of Ubuntu)

First off, install the prerequisites. Open a terminal window and type

sudo apt-get install subversion build-essential g++ pkg-config libxml2 libxml2-dev libxml2-utils xsltproc flex automake autoconf libtool libpcre3-dev  

enter your password

Wait till the packages are downloaded and installed.

svn co http://apertium.svn.sourceforge.net/svnroot/apertium/trunk apertium

Note: Above checkout will download lots of file with all language pair,If you have limited bandwidth or disk space, please follow Minimal installation from SVN instead.

Go to lttoolbox directory with

cd apertium/lttoolbox

Then launch autogen.sh


Launch make


That last command may takes some minutes.

sudo make install
sudo ldconfig
 cd .. 
 cd apertium 
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh
sudo make install
sudo ldconfig

You have then to compile the language pairs that you want to use. It is the same procedure for every pair, we would give an example with apertium-fr-es

cd ..
cd apertium-fr-es/
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh
sudo make install

Make a test

echo "J'ai deux frères" | apertium fr-es

Replace $USER with your Ubuntu user name.

If you edit the linguistics data, do not forget to type "make" to update.

To compile all the pairs without typing each directory once you can use the following script :

list=`ls -d apertium-??-??` # list of folders with a name like apertium-xx-xx
for folder in $list 
 cd $folder >> ../compile.txt
 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./autogen.sh >> ../compile.txt
 make >> ../compile.txt
 sudo make install >> ../compile.txt
 cd ..

Inside compile.txt you can see some of the results of the compilation.


‘rpl_malloc’ was not declared in this scope

If you get:

make check output
apertium_destxt.o apertium_destxt.cc
apertium_destxt.cc: In function ‘void* yyalloc(yy_size_t)’:
apertium_destxt.cc:2017: error: ‘rpl_malloc’ was not declared in this scope
apertium_destxt.cc: In function ‘void* yyrealloc(void*, yy_size_t)’:
apertium_destxt.cc:2029: error: ‘rpl_realloc’ was not declared in this scope
make[1]: *** [apertium_destxt.o] Error 1
make[1]: Leaving directory `/home/surge/Resources/apertium/apertium-3.1.0/apertium'

Then the best thing to do is comment out the lines:


From the configure.ac and then re-run autogen.sh.


If you get

Warning: unsupported locale, fallback to "C""

when running a command, it means that your installation doesn't have the required locale enabled. Here is a solution for Ubuntu Try something like

locale-gen es_EN.UTF-8

//replace es_EN.UTF-8 with whichever locale is relevant to your problem.

For example, if

LANG=es_ES.utf8 /usr/local/bin/apertium-deshtml /tmp/URLMH0f38

gave you the error : 'Warning: unsupported locale, fallback to "C"'. Then you could try

locale-gen es_EN.UTF-8

also see this link for an alternate method : http://tlug.dnho.net/node/237