CentOS8.0安装迅搜(XunSearch)引擎报错的解决办法
在一些小型項目上需要應用全文搜索引擎時,我比較喜歡使用迅搜,因為部署方便,調用簡單,今天給客戶部署系統安裝迅搜時,竟然有報錯(極少遇到報錯的情況),花了一些時間查資料,終于解決了,分享一下經驗
首先是定位原因,因為我已經在起碼五六臺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 knownstatic 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然后安裝過程就愉快地完成了
總結
以上是生活随笔為你收集整理的CentOS8.0安装迅搜(XunSearch)引擎报错的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看看行业现状,你愿意去日本做码农吗?
- 下一篇: A-Level商务模型介绍:波士顿矩阵