Apertium on Mac OS X (Local)

From Apertium
Revision as of 17:58, 3 September 2011 by Bech (talk | contribs) (Documentation in English)
Jump to navigation Jump to search

This page gives instructions on compiling Apertium on Mac OS/X, it will presume you are installing into a directory called Local inside your home directory (your home directory will be in /Users/<your user name>). This is slightly more complicated, but more contained.

Preparation

First you need a full installation of XCode (http://developer.apple.com/tools/xcode/) and Macports (http://www.macports.org/install.php).

The following packages from MacPorts are required:

$ sudo port install autoconf automake expat flex \
gettext gperf help2man libiconv libtool \
libxml2 libxslt m4 ncurses ncursesw p5-locale-gettext \
pcre perl5.8  pkgconfig zlib gawk svn

(Some of these are necessary just because Macports wants them.)

Then continue...

$ pwd
$ mkdir Local
$ mkdir Source

Downloading

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

Then choose a language package and download it the same way, eg.

$ svn co http://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-es-ca

Compiling

First export these environment variables so that binaries and libraries from your local installation are taken before those from the system installation.

$ export PATH=$HOME/Local/bin/:$PATH
$ export PKG_CONFIG_PATH=$HOME/Local/lib/pkgconfig
$ export LD_LIBRARY_PATH=$HOME/Local/lib
$ cd Source

lttoolbox

$ cd lttoolbox

$ sh autogen.sh --prefix=$HOME/Local/
$ make
$ make install

apertium

$ cd apertium

$ sh autogen.sh --prefix=$HOME/Local/
$ make
$ make install

apertium-es-ca

$ cd apertium-es-ca

$ sh autogen.sh --prefix=$HOME/Local/
$ make
$ make install

Troubleshooting

Undefined macro #1

Problem

The autogen.sh script complains about an undefined macro when encountering the dnl (comment) string.

configure.ac:112: error: possibly undefined macro: dnl
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
Solution

Run automake -a then autoconf, then autoheader, then ./configure --prefix=/Users/spectie/Local/.

Undefined macro #2

Problem
$ sh autogen.sh --prefix=$HOME/Local/
- libtoolize.
You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.
- aclocal.
- autoconf.
configure.ac:109: error: possibly undefined macro: dnl
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
Solution

Re-run the autogen.sh command until it works.

syntax error near unexpected token

Problem

The configure script cannot find the PKG_CHECK_MODULES macro

checking for pkg-config... $HOME/Local/bin//pkg-config
./configure: line 19355: syntax error near unexpected token `LTTOOLBOX,'
./configure: line 19355: `PKG_CHECK_MODULES(LTTOOLBOX, dnl'

or

checking for gawk... (cached) awk
./configure: line 2183: syntax error near unexpected token `APERTIUM,'
./configure: line 2183: `  PKG_CHECK_MODULES(APERTIUM, apertium-1.0 >= 1.0.0,'
Solution

Run:

$ aclocal -I $HOME/Local/share/aclocal
$ automake -a
$ autoconf
$ autoheader
$ automake -a
$ ./configure --prefix=$HOME/Local/

You don't have cg-proc installed

Apertium for Welsh/Breton/Norwegian/Sámi/… now requires this constraint grammar package to help with disambiguation. For install instructions go here.

See also