首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS8.0安装迅搜(XunSearch)引擎报错的解决办法

CentOS8.0安装迅搜(XunSearch)引擎报错的解决办法

作者头像
风柏杨4711
发布2021-03-15 11:02:00
6250
发布2021-03-15 11:02:00
举报
文章被收录于专栏:技术小牛技术小牛

在一些小型项目上需要应用全文搜索引擎时,我比较喜欢使用迅搜,因为部署方便,调用简单,今天给客户部署系统安装迅搜时,竟然有报错(极少遇到报错的情况),花了一些时间查资料,终于解决了,分享一下经验

首先是定位原因,因为我已经在起码五六台Centos主机上安装过迅搜,前面都顺利安装完成了,所以应该是不迅搜本身有什么问题,更大可能是跟运行环境是有关系的,看了一下,目前这台机子安装的是Centos8.0,我之前安装的系统都是7.X的,所以极有可能是和操作系统的版本有关系的。

看了一下在安装界面的信息,内容如下:

bufferevent_openssl.c:237:2: note: (near initialization for 'methods_bufferevent')
bufferevent_openssl.c:228:19: error: storage size of 'methods_bufferevent' isn't known
 static BIO_METHOD methods_bufferevent = {
                   ^~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:793: bufferevent_openssl.lo] Error 1
make[2]: Leaving directory '/usr/local/src/xunsearch-full-1.4.14/libevent-2.0.21-stable'
make[1]: *** [Makefile:857: install-recursive] Error 1
make[1]: Leaving directory '/usr/local/src/xunsearch-full-1.4.14/libevent-2.0.21-stable'
make: *** [Makefile:1182: install] Error 2

看样子应该是在编译过程中报错了,这个比较棘手,因为这是C写的代码,我总不能直接去改它的源码,于是只能从什么问题导致了编译错误入手,各种查询之后,发现有位网友曾经遇到过这个问题,以下是引用这位网友的内容:

这个问题的原因及解决思路如下:
原因在于libevent 2.0.x需要openssl < 1.1.0
常用的几个Linux发行版已经把系统的openssl升级到了1.1.0+
即对应需要libevent 2.1.x+
而libevent 2.1.x改了头文件.. 如果不更换系统openssl版本.
那就可以去手动下载一个 libevent-2.1.11-stable.tar.gz
自己换成bz压缩格式(libevent-2.1.11-stable.tar.bz2)
放进 packages,记得删掉原来的libevent

作者:一件小毛衣
链接:https://www.jianshu.com/p/2bd166d48f42
来源:简书

后面具体的步骤没有参考他的,因为我和他使用的迅搜版本是不同的,具体解决的方法跟他的有所不同,所以下面继续说我的解决过程: 首先,先去下载一下2.1.X版本的libevent安装包,可以直接搜索libevent,然后在官方的网站上下载,很多时候官方的链接是github上的,如果直接在linux系统上用wget下载有点慢,这种情况下可以先在咱们自己的浏览器上下载好,再通过winscp上传上去,更加快。 我下载的版本是libevent2.1.12,下载链接是:https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz

下载好后上传到服务器上放xunsearch的目录下,我的目录是/usr/local/src/,然后将这个文件解压,并重新压缩成bz2格式,参考代码如下:

//先将libevent解压(以便压缩成所需格式)
tar -zxvf libevent-2.1.12-stable.tar.gz
//压缩成bz2格式,这是迅搜安装包的支持的格式
tar -cjf libevent-2.1.12-stable.tar.bz2 libevent-2.1.12-stable
//复制到xunsearch下的packages文件夹内
cp libevent-2.1.12-stable.tar.bz2 xunsearch-full-1.4.15/packages/
//进入安装包的目录并将原来自带的libevent安装包删除(xunsearch1.4.15自带的是2.0.X)
cd xunsearch-full-1.4.15/packages/
rm -f libevent-2.0.X
//返回上一步的文件夹(即迅搜安装包的根目录),然后执行setup.sh就可以了,
//迅搜会自动检查安装包文件内的libevent开头的安装包,如果没找到会报错,如果找到了就会自动解压并编译安装
cd ..
./setup.sh

然后安装过程就愉快地完成了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档