码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

  • 相关阅读:
    ArcGIS实验教程——实验四十七:数据驱动页工具批量制作甘肃省各地级市人口七普专题图集
    postman测试文件上传接口教程
    代理模式【静态代理和动态代理实现业务功能扩展】
    y121.第七章 服务网格与治理-Istio从入门到精通 -- Istio流量治理快速入门和流量治理进阶(七)
    中国程序员做独立开发者的怎么这么少呢?
    Spring之控制反转(IoC)
    为啥外行都觉得程序员的代码不值钱?
    【C3AE】《C3AE:Exploring the Limits of Compact Model for Age Estimation》
    AHU 汇编 实验二
    含文档+PPT+源码等]精品spring boot+MySQL微人事系统设计与实现vue[包运行成功]计算机毕设Java项目源码
  • 原文地址:https://blog.csdn.net/sa726663676/article/details/125013206
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号