• 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

    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

  • 相关阅读:
    NewStarCTF2023week2-Unserialize?
    在JS中,var 、let 、const 总结
    EasyGBS调用获取实时快照接口时,出现白色方块该如何解决?
    C++之this指针总结(二百二十)
    高精度移相(MCP41xx)程序stm32F103,F407通用,更改引脚即可(SPI软件模拟通信)
    GDB调试器(linux)
    两APP通信之AIDL使用。
    把握现在,热爱生活
    Maven快速上手
    数值分析:最小二乘与岭回归(Pytorch实现)
  • 原文地址:https://blog.csdn.net/sa726663676/article/details/125013206