编译
- 获取Hyperscan源码包。
wget https://codeload.github.com/kunpengcompute/hyperscan/zip/aarch64
- 解压源码包。
unzip hyperscan-aarch64.zip
- 进入Hyperscan源码目录。
cd hyperscan-aarch64
- 添加Boost头文件。
ln -s {boost_path}/boost include/boost
编译依赖Boost头文件,{boost_path}即boost_1_69_0.tar.gz解压后的全路径,此处boost_path推荐使用绝对路径。
- 添加PCRE依赖库。
源码hscollider工具编译依赖于PCRE工具。
- 将解压后的pcre-8.43文件夹拷贝到Hyperscan源码目录下并重命名为pcre文件夹。
cp -rf ./pcre-8.43 hyperscan-aarch64/pcre
- 打开“pcre/CMakeLists.txt”文件。
vim hyperscan-aarch64/pcre/CMakeLists.txt
- 将拷贝后的“pcre/CMakeLists.txt”文件中第77行注释掉,如下所示。
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0) #CMAKE_POLICY(SET CMP0026 OLD)
- CMakeLists.txt文件中第77行#CMAKE_POLICY(SETCMP0026 OLD)命令在低版本CMake 2.8.1下无法识别且不影响功能,故需要将其注释掉。
- 也可以通过升级系统CMake版本为3.0及以上解决上述CMAKE_POLICY命令无法识别问题。
- 按“Esc”键,输入:wq!并按“Enter”键保存并退出编辑。
- 将解压后的pcre-8.43文件夹拷贝到Hyperscan源码目录下并重命名为pcre文件夹。
- 编译源码静态库。
编译选项默认为release模式编译静态库。
- 进入Hyperscan源码目录。
cd Hyperscan-aarch64
- 创建“build”目录。
mkdir -p build
- 进入创建好的“build”目录。
cd build
- 执行编译。
cmake ..
make -j32
编译完成后,默认生成Hyperscan的静态库和测试程序:
编译完成生成的测试程序:
生成的静态库:
- 进入Hyperscan源码目录。
- 编译源码动态库。在执行编译命令中增加生成动态库编译选项:-DBUILD_SHARED_LIBS=ON。
cmake .. -DBUILD_SHARED_LIBS=ON
生成的动态库:
父主题: Hyperscan 编译指南