When I need to apply full-text search engine to some small projects, I prefer to use xunsu because it is convenient to deploy and easy to call. Today, when I install xunsu for the customer’s deployment system, I reported an error (rarely encountered an error). I spent some time looking up the information, finally solved it, and shared my experience
The first reason is positioning. I have installed xunsu on at least five or six CentOS hosts, and the previous installation has been completed smoothly. Therefore, it should be because there is something wrong with xunsu itself, which is more likely related to the running environment. After a look, this machine is currently installed with CentOS 8.0, and the systems I installed before are all 7. X, so it is most likely related to the operating system It has something to do with the version of the system.
The information in the installation interface is as follows:
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
It seems that there should be an error in the compilation process, which is more difficult. Because this is the code written in C, I can’t directly change its source code, so I can only start from what causes the compilation error. After various queries, I found that a netizen once encountered this problem. The following is the content quoted from this netizen:
The cause of this problem and the solution ideas are as follows. The reason is that libevent 2.0.x requires openssl < 1.1.0 Several common Linux distributions have upgraded their openssl systems to 1.1.0+ That is, libevent 2.1.x+ is required And libevent 2.1.x has changed the header file... If you do not change the system openssl version. Then you can manually download a libevent-2.1.11-stable.tar.gz convert to bz compressed format (libevent-2.1.11-stable.tar.bz2) Put it into packages, remembering to delete the original libevent
I didn’t refer to him for the following specific steps, because the xunsu version I used is different from his, and the specific solution is different from his, so let’s continue with my solution process: First of all, download the 2.1. X version of libevent installation package. You can search libevent directly, and then download it on the official website. Most of the time, the official link is on GitHub. If you download it with WGet directly on Linux system, it’s a bit slow. In this case, you can download it on our own browser first, and then upload it through winscp, which is faster. The version I downloaded is libevent2.1.12. The download link is: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
After downloading, upload it to the server and put it in the xunsearch directory. My directory is/usr/local/SRC /, then decompress the file and recompress it into bz2 format. The reference code is as follows:
//Unpack libevent first (in order to compress it into the desired format) tar -zxvf libevent-2.1.12-stable.tar.gz //compress to bz2 format, which is the format supported by the XunSuo installer tar -cjf libevent-2.1.12-stable.tar.bz2 libevent-2.1.12-stable // copy to the packages folder under xunsearch cp libevent-2.1.12-stable.tar.bz2 xunsearch-full-1.4.15/packages/ // go to the package installation directory and remove the libevent package that comes with it (xunsearch1.4.15 comes with 2.0.X) cd xunsearch-full-1.4.15/packages/ rm -f libevent-2.0.X //return to the previous folder (i.e. the root directory of the Xunsearch installation package), then execute setup.sh and you're done. // XunSoo will automatically check for the libevent package in the installer file, if it doesn't find it, it will report an error, if it finds it, it will automatically unpack and compile it. cd .. ./setup.sh
Then the installation process is happily completed
Read More:
- How to fix the ERROR: Failed to build gem native extension in Centos 8
- When installing software in Ubuntu, it prompts: E: You don’t have enough free space in /var/cache/apt/archives/.
- CentOS 8: No URLs in mirrorlist error [How to Solve]
- How to Fix No default.conf file in conf.d after Installing Nginx
- [Solved] Centos7 Error: gcc: configure: error: in build‘: configure: error: no acceptable C compiler found in $PATH
- [Solved] Exception in replication between CentOS virtual machine and host
- [Solved] Error in installing backups.lzma for Python on Linux
- [Solved] Using GCP copy to report errors in Linux: DBUS. Exceptions. Dbusexception: org. Freedesktop. DBUS. Error. Notsupported:
- summary of configuration and deployment of uwsgi+nginx+flag in centos7 and why internal server error is prompted [official instructions]
- How to Fix error 28 from storage engine
- [Solved] Error reported using telnet command in Centos7: telnet: error while loading shared libraries: libtinfo.so.6
- CentOS/RHEL 7: How to Reinstall GRUB2 from Rescue Mode (EFI)
- Ubuntu20.04 install the ROS noetic version in catkin_Problems in make compilation
- The upgrade of Ubuntu results in an error in the compilation of Android Jack [Two Method to Solve]
- [Solved] CentOS Use Yum to install dependency: error: rpmdb open failed
- CentOS: How to Solve Python File Run Error
- Install and start the tftp-server server and possible solutions to Redirecting to /bin/systemctl restart xinetd.service problems
- How to Solve Xmind Install Error in Ubuntu System
- ./configure Command Execute error (Centos7 Install erlang)
- CentOS7 Failed to start LSB: Bring up/down networking [How to Solve]