• 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

  • 相关阅读:
    Https加密过程
    ts装饰器保存this指向
    用 Python实现Python解释器
    Linuxd的内核定时器 timer_list
    实训素材纯HTML+CSS代码 (教育主题 3页 )
    13. Spring AOP(一)思想及使用
    wpf的GridSplitter使用
    Win11用户名和密码备份方法
    P8813 [CSP-J 2022] 乘方(民间数据)题解
    独立站运营和facebook投放怎么做
  • 原文地址:https://blog.csdn.net/sa726663676/article/details/125013206