之前在linux下安装joshua一直出错,尝试了很久,后来在一个比较干净的centos7下安装,终于成功了,记录一下步骤防止忘记。需要特别注意的是boost的安装,直接关系到之后joshua能否正常运行。另外,以下的步骤只要把相关文件下载好可以离线安装。
步骤:
- 准备网上下载boost1.59以上版本(boost_1_61_0.tar.gz),java8以上(jdk-8u101-linux-x64.rpm),ant(apache-ant-1.9.7-bin.tar.gz,不要直接apt-get或yum!!!),zlib(zlib-1.2.8.tar.gz)
- 清除机器上现有的java环境(joshua6.0.5官网推荐的是java7,但是之后的新版本要求8)
- 安装boost,boost安装比较重要,确保安装正确,其中涉及到python的一些错误可以忽略
在root下,使用tar解压
./bootstrap.sh --prefix=/usr/local/boost
./b2 install--prefix=/usr/local/boost
install的时候可能会遇到问题,比如pyconfig.h找不到,这个对joshua不会有影响
将/usr/local/boost/include下的boost文件夹及里面的内容全部拷贝到/usr/include/下。
将/usr/local/boost/lib下的所有文件拷贝到/usr/lib下。
设置环境变量BOOST_ROOT,BOOST_INCLUDE,BOOST_LIB - 安装java8,安装之后设置环境变量
- 安装ant,解压之后无需要安装,只需要设置环境变量ANT_HOME,同时在PATH中有ANT_HOME/bin,建议放在/usr/local/
- 安装zlib,解压之后按照说明文件操作
- 安装cmake
- 解压joshua6.0.5,设置JOSHUA变量,然后直接ant all。一切都ok,在joshua6.0.5/lib文件夹下会生成libken.so
- 将 symal文件夹(在src下)拷贝一份到/scripts/training/下,这样才能使用GIZA++
注意:以上安装都使用sudo 或者 在root下,及时修改环境变量并更新
说明:以上的joshua安装不包含MOSES,需要单独安装,且正确运行需要使用java7