CentOS8.0にXunSearchエンジンをインストールする際のエラーの解決方法

小規模なプロジェクトで全文検索エンジンを使用する必要がある場合、展開が簡単で呼び出しも簡単なため、Xunsou を使用することを好みます。今日、顧客の展開システムに Xunsou をインストールしたところ、エラーが報告されました (まれに発生します)。情報を確認するのに時間を費やした後、最終的に問題を解決できました。ご経験を共有してください。

1 つ目は場所の理由です。Xunsou を少なくとも 5 ~ 6 台の Centos ホストにインストールしており、以前のインストールは正常に完了しているため、Xunsou 自体には問題はないはずですが、おそらく動作に関連していると考えられます。確認したところ、このマシンには現在 Centos 8.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
来源:简书

彼と私が使用した Xunsou のバージョンが異なり、具体的な解決方法が彼のものとは異なっていたため、後で具体的な手順については彼に言及しませんでした。それでは、私の解決プロセスを続けましょう: まず、 2.1 をダウンロードします
。自分のブラウザでアップロードし、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

その後、インストールプロセスは無事に完了しました

おすすめ

転載: blog.csdn.net/one_and_only4711/article/details/110926096