安装依赖
boost 1.84.0
安装Boost库通常需要以下步骤:
-
解压文件: 打开终端,导航到包含
boost_1_84_0.tar.gz
文件的目录,然后运行以下命令来解压文件:tar -xzvf boost_1_84_0.tar.gz
这将在当前目录下创建一个名为
boost_1_84_0
的文件夹,其中包含Boost库的源代码。 -
进入Boost目录: 使用
cd
命令进入解压后的Boost目录:cd boost_1_84_0
-
执行Bootstrap: 运行
bootstrap.sh
脚本,该脚本将生成一个b2
或bjam
二进制文件,用于构建和安装Boost库:./bootstrap.sh
如果没有错误,将会生成一个名为
b2
或bjam
的可执行文件。 -
构建并安装Boost: 使用生成的
b2
或bjam
工具构建和安装Boost库。下面的命令将使用默认配置构建和安装Boost:./b2
如果你想指定安装目录,可以使用
--prefix
选项,例如:./b2 --prefix=/your/installation/path
最后,使用
./b2 install
命令来安装Boost库:./b2 install
完成后,Boost库就会被安装在指定的目录中。
ragel 6.10
automake为ragel的前置依赖,须先安装automake
-
进入源代码目录: 切换到解压缩后的 Automake 目录:
cd automake-1.16
-
配置、编译和安装: 执行以下命令:
./configure
make
sudo make install
这将配置、编译并安装 Automake。sudo
可能需要输入管理员密码。
在 Linux 系统上安装 Ragel 的步骤通常包括以下几个阶段:
-
下载 Ragel: 你可以从 Ragel 的官方网站或其他来源下载 Ragel 的源代码。
-
解压源代码: 下载后,使用
tar
命令解压缩源代码。假设你的文件名是ragel-6.10.tar.gz
,执行:tar -xzvf ragel-6.10.tar.gz
-
进入源代码目录: 切换到解压缩后的 Ragel 目录:
cd ragel-6.10
-
编译和安装: 执行以下命令编译和安装 Ragel:
./configure make sudo make install
上述命令将自动检测系统的配置,并编译、安装 Ragel。请注意,
sudo
可能需要输入管理员密码。 -
验证安装: 安装完成后,你可以验证 Ragel 是否成功安装。执行以下命令检查 Ragel 的版本:
ragel -v
如果成功安装,将显示 Ragel 的版本信息。
pcap
我安装的是1.8.1版本
1 2 3 | /configure --prefix=/opt/ make -j 20 make install |
dbus
我安装的是dbus-1.11.12版本
1 2 3 | /configure --prefix=/opt/ make -j 20 make install |
最后准备
修改一下CMakefileList 加入头文件和lib依赖目录
1 2 3 4 5 6 7 8 9 10 | ln -s /opt/boost_1_65_1/boost <hyperscan-src>/include/boost include_directories(${PROJECT_SOURCE_DIR}/src) include_directories(${PROJECT_BINARY_DIR}) include_directories(SYSTEM include) include_directories(/opt/include) <---------- include (${CMAKE_MODULE_PATH}/boost.cmake) link_directories("/opt/lib") <--------------- |
安装hyperscan
1 2 3 4 | cd <where-you-want-to-build-hyperscan> mkdir <build-dir> cd <build-dir> cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER=/opt/compiler/gcc-4.8.2/bin/gcc -DCMAKE_INSTALL_PREFIX=/opt/ ../ |
在编译的时候会提示ELSE分支问题,需要修改一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | if (FAT_RUNTIME) if (NOT HAVE_SSSE3) message(FATAL_ERROR "SSSE3 support required to build fat runtime") endif () if (NOT HAVE_AVX2) message(FATAL_ERROR "AVX2 support required to build fat runtime") endif () if (BUILD_AVX512 AND NOT HAVE_AVX512) message(FATAL_ERROR "AVX512 support requested but not supported") endif () else (NOT FAT_RUNTIME) if (NOT HAVE_AVX2) message(STATUS "Building without AVX2 support") endif () if (NOT HAVE_AVX512) message(STATUS "Building without AVX512 support") endif () #else (NOT FAT_RUNTIME) # if (NOT HAVE_SSSE3) # message(FATAL_ERROR "A minimum of SSSE3 compiler support is required") # endif () endif () |
注释掉上面的4行,否则编译不过
各种检查通过以后,会生成我们想要的make file,然后执行
1 2 | make -j 20 make install |
编译的过程是很慢的,可以喝杯茶等着。
最后在我们/opt里有的lib和include头文件,第三方用这个就可以了
目前的hyperscan安装步骤:
cmake -DBOOST_ROOT=/home/yangsc/boost_1_84_0 ../ |