centos7安装sphinx2.2.11

可紊 提交于 2019-11-29 17:04:51

推荐通过二进制包安装,简单快捷

1.如果你本机没有安装mysql5.6,会提示缺少 libmysqlclient.so.18 文件,这时候需要安装mysql-community-devel

先安装mysql yum仓库源 https://dev.mysql.com/downloads/repo/yum/ 然后修改 /etc/yum.repos.d/mysql-community.repo ,把5.7的enable设为0 ,5.6的设为1,因为默认5.7的mysql devel是没有libmysqlclient.so.18的,只有从5.6里面安装。

2.按照sphinx安装教程进行二进制的安装

===========

编译安装

cd /usr/local/src/sphinx
./configure --prefix=/usr/local/sphinx && make && make install

问题记录:

make报错:

libsphinx.a(sphinx.o):在函数‘xmlUnknownEncoding’中:
/usr/local/src/sphinx-2.2.11-release/src/sphinx.cpp:29116:对‘libiconv_open’未定义的引用

解决: 安装 libiconv ,到 http://www.gnu.org/software/libiconv/ 下载,编译安装,如果编译的时候报错:" ‘gets’未声明" ,那么这样处理:

    cd srclib && sed -i -e '/gets is a security/d' ./stdio.in.h

安装完libiconv后如果还是无法编译sphinx,那么进入 src 目录(注意是sphinx源码目录下面的src),修改MakeFile

将

    LIBS = -lm -lexpat -L/usr/local/lib 

改成

    LIBS = -lm -lexpat -liconv -L/usr/local/lib 

再次编译应该就可以了

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!