diff options
author | Kenneth Heafield <github@kheafield.com> | 2011-12-01 17:13:49 +0400 |
---|---|---|
committer | Kenneth Heafield <github@kheafield.com> | 2011-12-01 17:13:49 +0400 |
commit | 7ee2d064b81748c61552b598075a614678d1b353 (patch) | |
tree | 2bcda36a79e339a2874617973ba4fccff74e59be /BUILD-INSTRUCTIONS.txt | |
parent | 56d2b0d3e90e76beaae68955285a9cc9ac1d2f92 (diff) |
Attempt to teach people how to install packages from source
Diffstat (limited to 'BUILD-INSTRUCTIONS.txt')
-rw-r--r-- | BUILD-INSTRUCTIONS.txt | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/BUILD-INSTRUCTIONS.txt b/BUILD-INSTRUCTIONS.txt index 918ea324d..e5c0ad8ea 100644 --- a/BUILD-INSTRUCTIONS.txt +++ b/BUILD-INSTRUCTIONS.txt @@ -3,13 +3,16 @@ PRELIMINARIES Moses is primarily targeted at gcc on UNIX. Moses requires gcc, Boost >= 1.36, and zlib including the headers that some -distributions package separately. Most distributions package Boost but source -can also be downloaded from http://www.boost.org/. +distributions package separately (i.e. -dev or -devel packages). Source is +available at http://boost.org . There are several optional dependencies: GIZA++ from http://code.google.com/p/giza-pp/ is used to build phrase tables. +Moses server requires xmlrpc-c with abyss-server. Source is available from +http://xmlrpc-c.sourceforge.net/. + The scripts support building ARPA format language models with SRILM or IRSTLM. To apply models inside the decoder, you can use SRILM, IRSTLM, or KenLM. The ARPA format is exchangable so that e.g. you can build a model with SRILM and @@ -37,6 +40,43 @@ KenLM is included with Moses. -------------------------------------------------------------------------- +ADVICE ON INSTALLING EXTERNAL LIBRARIES + +Generally, for trouble installing external libraries, you should get support +directly from the library maker: + +Boost: http://www.boost.org/doc/libs/1_48_0/more/getting_started/unix-variants.html +IRSTLM: https://list.fbk.eu/sympa/subscribe/user-irstlm +SRILM: http://www.speech.sri.com/projects/srilm/#srilm-user + +However, here's some general advice on installing software (for bash users): + +#Determine where you want to install packages +PREFIX=$HOME/usr +#If your system has lib64 directories, lib64 should be used AND NOT lib +if [ -d /lib64 ]; then + LIBDIR=$PREFIX/lib64 +else + LIBDIR=$PREFIX/lib +fi +#If you're installing to a non-standard path, tell programs where to find things: +export PATH=$PREFIX/bin${PATH:+:$PATH} +export LD_LIBRARY_PATH=$LIBDIR${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +export LIBRARY_PATH=$LIBDIR${LIBRARY_PATH:+:$LIBRARY_PATH} +export CPATH=$PREFIX/include${CPATH:+:$CPATH} + +Add all the above code to your .bashrc or .bash_login as appropriate. Then +you're ready to install packages in non-standard paths: + +#For autotools packages e.g. xmlrpc-c +./configure --prefix=$PREFIX --libdir=$PREFIX/lib64 [other options here] + +#For Boost: +./bootstrap.sh +./b2 --prefix=$PREFIX --libdir=$PREFIX/lib64 link=static,shared threading=multi install + +-------------------------------------------------------------------------- + BUILDING Building consists of running |