ubuntu20.04下源码安装hyperscan库安装记录

安装测试环境:

vmware-ubuntu20.04,gcc 4.8.5,ragel-6.10.tar.gz,boost_1_69_0.tar.gz,hyperscan-5.1.0.tar.gz

1.安装ragel(必须的依赖包)1MB:

下载地址:http://www.colm.net/files/ragel/ragel-6.10.tar.gz

$ tar -xvf ragel-6.10.tar.gz

$ cd ragel-6.10

$ ./configure

$ make

$ sudo make install

$ ldconfig

2.安装boost(必须的依赖包)105MB:

下载地址:Download Boost C++ Libraries from SourceForge.net

$ tar -xvf boost_1_69_0.tar.gz

$ cd boost_1_69_0

$ ./bootstrap.sh

$ sudo ./b2 --with-iostreams --with-random install

$ ldconfig

3.安装hyperscan(1MB):

下载地址:https://codeload.github.com/01org/hyperscan/tar.gz/v4.0.0

$ tar -xvf hyperscan-5.1.0.tar.gz

$ cd hyperscan-5.1.0

$ mkdir cmake-build

$ cd cmake-build

$ cmake -DBUILD_SHARED_LIBS=on -DCMAKE_BUILD_TYPE=Release ..

$ make -j8                      (j8表示使用8个核编译,make过程较慢,请静静等待)               

$ sudo make install

$ ldconfig

如果在centos执行命令cmake -DBUILD_SHARED_LIBS=on -DCMAKE_BUILD_TYPE=Release ..提示sqlite3,pcre包找不到的问题解决可参考:

checking for module ‘sqlite3‘ package ‘sqlite3‘ not found_sa726663676的博客-CSDN博客

4.make过程中产生bug解决:

       代码编译到90%会出现libc.so.6,libc_nonshared.a,ld-linux-x86-64.so.2三个依赖库缺失问题.这里需要根据提示信息将找到的包放入到对应的路径即可。hyperscan好像是固定路径找这三个包的位置,所以使用LD_LIBRARY_PATH加载动态库是不行的。

4.1 解决 libc.so.6问题:

 sudo cp /usr/lib/x86_64-linux-gnu/libc.so.6 /lib/

4.2 解决libc_nonshared.a问题:

 sudo cp /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib/

4.3 解决ld-linux-x86-64.so.2问题:

sudo cp /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /lib/

4.4 解决conda环境问题

       处理完以上三个依赖包,继续安装,依然出现如下图错误:猜测这个错误大概和anacoda相关。

这个错误像是ananconda的虚拟环境引起。(猜测是anaconda虚拟环境的这个so包的版本较低,没有memcpy@GLIBC_2.14版本的东西。

我通过文档查找系统,确实存在这个版本https://www.shuzhiduo.com/A/KE5Q43Q4JL/)

 使用conda deactivate取消conda的虚拟环境,继续make命令安装,依然提示报错,可能make有缓存之类的:

 删除cmake-build文件夹,重新编译(如果重开的终端一定要取消conda虚拟环境):

$ mkdir cmake-build

$ cd cmake-build

$ cmake -DBUILD_SHARED_LIBS=on -DCMAKE_BUILD_TYPE=Release ..

$ make -j8            

$ sudo make install

$ ldconfig

自此,安装完成:

 然后我们可以进入lib包中发现编译生成了很多动态包了。

5 测试hyperscan是否安装成功

进入编译目录(cmake-build)的bin目录下:执行./unit

cd /bin

./unit-hyperscan

输入结果如下:程序都输出ok的话说明程序运行是没有问题的。

 安装步骤参考自:https://www.cnblogs.com/yanhai307/p/10770821.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值