centOS7上部署安裝coreseek及遇到的問題處理

# 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選項,會有一個

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章