Mose机器翻译Ubuntu18配置和遇到的问题
安装gcc 和g++
如果这个gcc 和g++环境没配好,后面无法进行
试过多个版本的,只有4.9的版本的可以成功编译,但是Ubuntu自带的是7版本的,使用下面的命令进行修改即可:
sudo gedit /etc/apt/sources.list
最后面添加这两行
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
sudo apt update
sudo apt install g+±4.9
sudo apt install gcc-4.9
安装完了以后查看版本号:gcc --version g++ --version
若还是版本7,执行下面的命令:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 40 --slave /usr/bin/g++ g++ /usr/bin/g+±4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g+±7
sudo update-alternatives --config gcc
此处会出现不同版本的gcc,g++,以及其对应的index:会提示输入number
输入4.9版本前面的数字即可修改成功
再次查看版本号:gcc --version g++ --version
如果是4.9,则成功
安装一些必要的依赖库:
sudo apt-get install build-essential git-core pkg-config automake
libtool wget zlib1g-dev python-dev libbz2-dev libsoap-lite-perl subversion
libboost-all-dev libbz2-dev liblzma-dev python-dev graphviz
imagemagick make cmake libgoogle-perftools-dev autoconf
相关工具包(路径都在/home/mose下)
boost
wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz
tar zxvf boost_1_64_0.tar.gz
cd boost_1_64_0/
./bootstrap.sh
./b2 -j4 --prefix=$PWD --libdir=$PWD/lib64 --layout=system link=static install || echo FAILURE
giza++
git clone https://github.com/moses-smt/giza-pp.git
cd giza-pp
make
IRSTLM 5.80.08
wget https://jaist.dl.sourceforge.net/project/irstlm/irstlm/irstlm-5.80/irstlm-5.80.08.tgz
tar zxvf irstlm-5.80.08.tgz
cd irstlm-5.80.08
cd trunk
./regenerate-makefiles.sh
./configure --prefix=/home/mose/irstlm-5.80.08/irstlm
make install
cmph
wget http://www.achrafothman.net/aslsmt/tools/cmph_2.0.orig.tar.gz
tar zxvf cmph_2.0.orig.tar.gz
cd cmph-2.0/
./configure
make
make install
XMLRPC
wget http://www.achrafothman.net/aslsmt/tools/xmlrpc-c_1.33.14.orig.tar.gz
tar zxvf xmlrpc-c_1.33.14.orig.tar.gz
cd xmlrpc-c-1.33.14/
./configure
make
make install
克隆和复制相关文件
git clone https://github.com/moses-smt/mosesdecoder.git
(该过程比较慢,建议直接戳网址下载然后解压复制到/home/mose下)
将giza-pp下面的三个文件复制过去
cd ../mosesdecoder
mkdir tools
cp ../giza-pp/GIZA++-v2/GIZA++ ../giza-pp/GIZA++-v2/snt2cooc.out ../giza-pp/mkcls-v2/mkcls tools
编译mose
cd mosesdecoder
make -f contrib/Makefiles/install-dependencies.gmake
./bjam --with-boost=/home/mose/boost_1_64_0 --with-cmph=/home/mose/cmph-2.0 --with-irstlm=/home/mose/irstlm --with-giza=/home/mose/giza-pp
此处注意一定是绝对路径,相对路径可能会报错
过程比较慢,如果显示success,表示成功
参考链接
https://blog.csdn.net/yizhang_ml/article/details/86750405
https://www.jianshu.com/p/f66eed3a3a25
https://www.jianshu.com/p/32a8ac498ee1