编译安装mmseg+Sphinx(coreseek)
原文地址:http://www.blogkid.net/archives/2305.html
已经决定把服务器换成Linux,我很快就在一台虚拟机上操练了起来。通过apt-get和gem能搞定大部分应用程序和ruby的库,但mmseg(分词算法)和Sphinx(搜索引擎)是需要编译安装的。在此我使用了coreseek提供的版本。
准备工作:
apt-get install python-dev make g++
下载并解压软件包不再赘述。首先编译安装mmseg:
./configure –prefix=/usr/local/mmseg
make
make install
我在make的过程中遇到两次错误,都提示“strncmp was not defined in the scope”。这时需要找到报错的文件,打开编辑,加入一行:#include “string.h”。搜索发现这个问题并不普遍,可能和使用的gcc版本有关。修改之后就编译通过了。
之后编译安装Sphinx:
./configure –prefix=/usr/local/coreseek –with-python –with-mysql –with-mmseg-includes=/usr/local/mmseg/include/mmseg –with-mmseg-libs=/usr/local/mmseg/lib/
make
make install
在make过程中也遇到两次错误,提示为“cannot convert int* to Py_ssize_t*”。经搜索发现只有在64-bit的Linux上编译时才会出现,解决方法也很简单:打开报错的文件,找到对应的行,把int pos = 0改为 Py_ssize_t pos = 0即可。一共需要修改两处,修改之后就可以安装成功了。
最后,再把/usr/local/coreseek/bin加入到PATH变量中,Sphinx的命令(indexer/searchd/search)就可以正常使用了,至此,安装完成。
UPDATE: make容易失败,谨记make clean。


Windows 折腾多费事,弄个Linux算了
嗯,买了个linode,用linux了