Today, I have installed the latest
Moses decoder (revision 4274) again.
Since lots of volunteers have contributed to Moses development, and lots of new features are added by them, the Moses is becoming more and more complicated. As a results, there are more bugs or incompatible issues in Moses now, which also implies that it is more difficult to install Moses.
I am writing this post to record a successful installation process of Moses, which can be very useful for a starter of Moses:
The first step is to run command
./regenerate-makefiles.sh:
Detected aclocal: aclocal (GNU automake) 1.11.1Detected autoconf: autoconf (GNU Autoconf) 2.64Detected automake: automake (GNU automake) 1.11.1Detected libtoolize: libtoolize (GNU libtool) 2.2.6Calling /home/w/wangpd/local/bin/aclocal...Calling /home/w/wangpd/local/bin/autoconf...Calling /home/w/wangpd/local/bin/automake...Calling /home/w/wangpd/local/bin/libtoolizeDetected 16 coresYou should now be able to configure and build: ./configure [--with-srilm=/path/to/srilm] [--with-irstlm=/path/to/irstlm] [--with-randlm=/path/to/randlm] [--without-kenlm] [--with-synlm] [--with-xmlrpc-c=/path/to/xmlrpc-c-config] make -j 16The second step is to run command:
./configure [--with-srilm=/path/to/srilm] [--with-irstlm=/path/to/irstlm] [--with-randlm=/path/to/randlm] [--without-kenlm] [--with-synlm] [--with-xmlrpc-c=/path/to/xmlrpc-c-config], where you really need absolute pathes for all the options.
The latest Moses requires
IRSTLM whose version should be not older than
1.70.01, which is what you have to do, otherwise you will fail (I tried 1.50, and failed). Another important point is that you must finish the installation of IRSTLM completely, which means you need to run:
bash regenerate-makefiles.sh# set parameter force to the value "--force" if you want to recreate all links to the autotools./configure --prefix=$PWD# run "configure --help" to get more details on the compilation optionsmakemake installin the root directory of IRSTLM. Note that the last command
make install is absolutely needed, since I have tried to skip it but of course failed.
The last step is to run
make -j 4 .