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/4.0/coreseek-4.1-beta.tar.gz

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

tar zxvf coreseek-4.1-beta.tar.gz 

cd coreseek-4.1-beta

cd mmseg-3.2.14/

./bootstrap

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

make && make install

cd ../csft-4.1/

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环境的devel支持包

  解决办法:yum install python-devel


错误N:

/root/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22292: undefined reference to `libiconv_open'
 /root/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22310: undefined reference to `libiconv'
 /root/coreseek-4.1-beta/csft-4.1/src/sphinx.cpp:22316: undefined reference to `libiconv_close'
 collect2: ld returned 1 exit status
 make[2]: *** [indexer] Error 1
 make[2]: Leaving directory `/root/coreseek-4.1-beta/csft-4.1/src'
 make[1]: *** [all] Error 2
 make[1]: Leaving directory `/root/coreseek-4.1-beta/csft-4.1/src'
 make: *** [all-recursive] Error 1
 
在其它机器上未发现此错误.
 
一开始以为libiconv的问题,又重装了几次还是一样,最后终于找着办法了
 编辑:
 ./src/MakeFile文件
 将
 LIBS = -lm -lexpat -L/usr/local/lib
 改成
 LIBS = -lm -lexpat -liconv -L/usr/local/lib
 
就可以了。

你可能感兴趣的:(PHP)