1. 程式人生 > >Hyperscan學習之原始碼安裝---redhat

Hyperscan學習之原始碼安裝---redhat

前言

最近專案上需要一個高效能的正則表示式匹配介面,想到了之前聽人提到過的Hyperscan庫,安裝時候遇到了各種各樣的問題,而且好多問題百度無解,特拿出來跟大家分享一下;

安裝前準備

系統:rehat7.0(其他unix系統應該也類似)
需要安裝的依賴包:
  1. 檢查你係統中下列軟體的版本,不符合版本要求的下載符合要求版本的安裝
    Dependency Version Notes
    CMake >=2.8.11
    Ragel 6.9
    Boost >=1.57 Boost headers required
    Pcap >=0.8 Optional: needed for example code only

安裝過程以及遇到的問題

以下只列出我在安裝時候安裝的軟體
  1. colm-0.13.0.5 這個是安裝Rangel的依賴的包;在Rangel原始碼包中給出的README裡提到了這個軟體,但是比較坑人的是README中給出的的是0.13.0.3的下載地址,安裝之後在安裝Rangel時會提示colm版本過低,要求版本不低於0.13.0.5;很坑人啊!!

    這是我第二次在ubuntu下安裝遇到的錯誤,重新./configure一下 就可以了
  2. Ragel-7.0.0.10這個依賴在安裝時只要你的colm版本安裝正確,那麼安裝以後順風順水一輪過,正常步驟安裝即可;


    如果出現這個問題ldconfig一下解決

  3. boost_1_60_0這個原始碼安裝包比較大,安裝過程比較怪:
    # tar -zxvf  boost_1_60_0.tar && cd boost_1_60_0
    # ./bootstrap.sh 生成了bjam 和b2 安裝工具
    # ./b2
    # ./b2 install
  4. Hyperscan重頭戲來了

    #  tar -zxvf hyperscan-4.5.0.tar.gz 
    #  cd hyperscan-4.5.0
    #  mkdir build
    #  cd build
    #  cmake ../ && cmake -build && make install
    ################################################
    比較幸運的人可能直接就安裝成功了,可惜我不是
    安裝過程中我遇到了 libcolm-0.13.0.5.so 連結失敗的問題,解決的方法是將/usr/local/lib64/libcolm-0.13.0.5.so  拷貝到/usr/lib64/下一份 就解決了,原因我猜是連結庫指定路徑和安裝colm生成的庫的路徑不同;