Difference between revisions of "Apertium on Mac OS X (Local)"

From Apertium
Jump to navigation Jump to search
(mv to general)
Line 77: Line 77:


==Troubleshooting==
==Troubleshooting==

===Undefined macro #1===

; Problem

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

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

; Solution

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


===Undefined macro #2===
===Undefined macro #2===

Revision as of 20:51, 20 November 2013

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 subversion

(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 #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