# uname -r

3.10.0-229.4.2.el7.x86_64

安装步骤如下:

1 依赖包的安装

yum install gcc gcc-c++ libtool mysql-devel libxml2-devel expat-devel

2、下载软件包

wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

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

3、安装过程(不同版本安装过程基本相同,以3.2.4为例)

tar zxvf coreseek-3.2.14.tar.gz 

cd coreseek-3.2.14

cd mmseg-3.2.14/

./bootstrap

./configure --prefix=/usr/local/mmseg3

make && make install

cd ../csft-3.2.14/

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 && make install

安装过程错误如下:

错误1

centOS7上安装4.1版本,执行 sh buildconf.sh  未生成configure


automake: warnings are treated as errors

/usr/share/automake-1.13/am/library.am: warning: 'libstemmer.a': linking libraries using a non-POSIX

/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'

libstemmer_c/Makefile.am:2:   while processing library 'libstemmer.a'

/usr/share/automake-1.13/am/library.am: warning: 'libsphinx.a': linking libraries using a non-POSIX

/usr/share/automake-1.13/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'

src/Makefile.am:14:   while processing library ‘libsphinx.a'

总体意思是: archiver requires 'AM_PROG_AR' in 'configure.ac'

解决办法:在 csft-4.1/configure.ac 文件中,查找:

AC_PROG_RANLIB 

后面加上

AM_PROG_AR 

最终格式为:AC_PROG_RANLIB AM_PROG_AR

再次执行 sh buildconf.sh


错误2

'automake --add-missing' can install 'ar-lib'

在命令行执行

#automake --add-missing

再次执行 sh buildconf.sh


错误3

编译的时候出现

sphinxexpr.cpp:1823:43: error: ‘ExprEval’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]

   T val = ExprEval ( this->m_pArg, tMatch ); // 'this' fixes gcc braindamage

处理办法:

 #vim /usr/local/src/coreseek-4.1-beta/csft-4.1/src/sphinxexpr.cpp

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

 形式修改为  T val = this->ExprEval ( this->m_pArg, tMatch );

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

 形式修改为  T val = this->ExprEval ( this->m_pArg, tMatch );

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

 形式修改为  T val = this->ExprEval ( this->m_pArg, tMatch );

 错误4

 In file included from sphinxstd.cpp:24:0:

py_layer.h:16:27: fatal error: Python.h: No such file or directory

  #include   <Python.h>  

  这是由于缺少了python环境的devel支持包

  解决办法:yum install python-devel


启动服务及测试

cd ../testpack/

##如要启动搜索服务,请使用

/usr/local/coreseek/bin/searchd -c etc/csft.conf(注意-c后面是相对路径)

##如要停止搜索服务,请使用

/usr/local/coreseek/bin/searchd -c etc/csft.conf --stop


/usr/local/src/coreseek-3.2.14/testpack/etc/pysource

支持python选项,会有一个