天天看点

ubuntu 15.10 安装 coreseek记录

事前准备

安装编译环境和mysql客户端

sudo apt-get install make gcc g++ automake libtool mysql-client libmysqlclient-dev libxml2-dev libexpat1-dev python-dev
           

网上的文章如果照抄,在ubuntu15.10上是会报错的,就是libmysqlclient-dev这个东西,网文都无一例外的写为libmysqlclient15-dev,实际上新版ubuntu上已经没有这个包了。 另外python-dev也是个坑,ubuntu默认是没有安装这个包的,如果这一步不安装上,到最后make那一步会出错,提示没找到Python.h文件

下载coreseek源码包并解包

wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz 
tar xvf coreseek-4.1-beta.tar.gz
cd coreseek-4.1-beta
           

安装mmseg分词程序

cd mmseg-3.2.14
./bootstrap
./configure --prefix=/usr/local/mmseg3 //这里据说不用他默认的来会出问题,就没尝试
make 
sudo make install
cd ..
cd csft-4.1
           

##安装coreseek

修改一些文件

如果不做修改,编译会出问题,本文的重点就在这里。 文档上写着安装coreseek第一步是这样,这一步的目的是生成配置文件

sh buildconf.sh
           

然而如果你执行了这行代码,实际上是没能生成配置文件的,大概因为编译环境版本太新了,一些老脚本会有问题 下面我们手工纠正一下

vim csft-4.1/buildconf.sh //没有vim自行安装或用其他编辑器都行

           

显示为

#! /bin/sh

autoheader \
&& aclocal \
&& automake --foreign \
&& autoconf
           

找到automake行,修改为

#! /bin/sh

autoheader \
&& aclocal \
&& automake --foreign --add-missing \
&& autoconf
           

保存退出 还不算完

vim configure.ac
           

查找这一行:

AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 
           

修改为:

AM_INIT_AUTOMAKE([-Wall foreign])
           

查找这一行:

AC_PROG_RANLIB
           

下一行追加:

AM_PROG_AR
           

最后还要修改源码:

vim src/sphinxexpr.cpp
           

查找如下代码,

T val = ExprEval ( this->m_pArg, tMatch );
           

并全部替换为:

T val = this->ExprEval ( this->m_pArg, tMatch );
           

正式安装coreseek

sh buildconf.sh
./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql --with-python
make
sudo make install
           

大功告成

转载于:https://my.oschina.net/inuxor/blog/519408