1.安装tcl
下载tcl的.tar.gz文件,然后解压
下载地址:ftp://ftp.tal.tk/pub/tcl/tcl8_6
$tar -xzvf 下载/tcl8.6.5-src.tar.gz -C ~/tcl
切换到 tcl8.6.5/unix目录
$cd tcl/tcl8.6.5/unix
为编译做准备
unix$./configure #应该默认安装到/usr/local
编译软件包
unix$make
安装软件包
unix$sudo make install #这里有权限问题,所以sudo
2.安装make,gcc,gawk,gzip,bzip2,p7zip
没有部分安装代码
~$sudo apt-get install gawk
~$sudo apt-get install p7zip
3.安装Srilm
创建目录,并解压到指定目录:~/srilm(即/home/cw/srilm)
~$mkdir srilm
~$tar -xzvf 下载/srilm-1.7.1.tar.gz -C ~/srilm
修改srilm/Makefile
在# SRILM = /home/speech/stolcke/project/srilm/devel (原)后添加一行
SRILM=/home/cw/srilm
修改srilm/common/Makefile.machine.*
*所填的内容和本机硬件平台有关。可以在终端输入一下命令查看:
~$uname -i
我的电脑是i686,则我要修改Makefile.machine.i686-gcc4这个文件
再修改srilm/sbin/machine-type,i686行处原MACHINE_TYPE=i686,改为MACHINE_TYPE=i686-gcc4
修改 srilm/common/Makefile.machine.i686-gcc4
找到:
GCC_FLAGS = -mtune=pentium3 -Wall -Wno-unused-variable -Wno-uninitialized
CC = (GCCPATH)gcc(GCC_FLAGS) -Wimplicit-int
CXX = (GCCPATH)g++(GCC_FLAGS) -DINSTANTIATE_TEMPLATES
这里是为了告诉 SRILM 系统使用的 compiler(c 和 c++),符合安装情况,不需要修改。如果是 64 位 CPU,需要做相应调整
找到:
TCL_INCLUDE =
TCL_LIBRARY = -ltcl #此处和其他电脑不同,其他为TCL_LIBRARY =
修改为:
TCL_INCLUDE =
TCL_LIBRARY = -ltcl
NO_TCL = X
找到:
GAWK = /usr/bin/awk
修改为:
GAWK = /usr/bin/gawk
至此开始出现大量问题,为什么说是大量问题,因为都是问题嵌套着问题。当我输入uname -i的时候,出现的是i686,但是我不确定是要修改Makefile.machine.i686-gcc4,还是Makefile.machine.i686。所以,我就都修改了。srilm/sbin/machine-type,i686行处原MACHINE_TYPE=i686,改为MACHINE_TYPE=i686-gcc4,这是之前的改法,之后我就又改回去了。
但是还是在make World的时候出现了问题,然后各种上网搜索,又要手动安装gcc,安装gcc之前又要安装各种准备的工具。
但是折腾了一遭之后,我尝试了如下命令:
~$sudo apt-get update
~$sudo apt-get build-essential
然后又回到srilm目录下
srilm$make World
此时,似乎是成功了。
然后输入环境变量
srilm$export PATH=/home/cw/srilm/bin/i686:/home/cw/srilm/bin:$PATH
然后test
srilm$make test
然后会出现大量的IDENTICAL,此时编译成功!