简介
在研究 SAVA 的时候,尝试使用 Kea 这个方案来进行实验的搭建,技术选型的时候选择 Kea DHCP Server 来进行开发,后续这个系列会接着出自己开发的过程,希望有很多小伙伴加入进来。
- Kea DHCP 地址:https://www.isc.org/kea/
- Kea 的文档地址:https://kea.readthedocs.io/en/latest/index.html
- 安装参考的文档地址:https://kb.isc.org/v1/docs/kea-build-on-ubuntu
- fork 的仓库地址:https://github.com/shatanyumi/kea.git
编译的环境使用的是 Ubuntu 18.04.6,镜像源使用的是 USTC 中科大源,下面进行源码的编译和安装。
安装环境和依赖
Kea 它依赖三个环境:Botan或者OpenSSL加密库、log4cplus 1.0.3+、MySQL 或者 PostgresSQL 头文件
# install the build environment
sudo apt -y install automake libtool pkg-config build-essential ccache
# install the dependencies
sudo apt -y install libboost-dev libboost-system-dev liblog4cplus-dev libssl-dev
进行配置和Debug
具体步骤是,先执行自动配置,然后使用配置命令,查看缺啥,缺啥装啥。
# autoconf the env
autoreconf --install
# ./configure [options] configure your needing pkgs
./configure
make check
由于我可能要做 Hook 开发或者自己动一下源码,所以后续在配置的时候会不断变化,这个阶段是 Debug 查看缺少哪些安装包。
最后检查一下是否都可以使用。
Dev 环境
启用 PostgreSQL,安装 PostgreSQL 头文件。
sudo apt-get install postgresql-server-dev-all libpq-dev
启用 Google Test,安装相应的模块文件。
sudo apt-get install googletest libgtest-dev
启用生成文档,安装相应的依赖
sudo apt-get install elinks docbook-xsl doxygen xsltproc
调试和编译
在配置的时候,启用上述的所有选项,安装缺失的包:
./configure --enable-debug --enable-perfdhcp --enable-shell --with-pgsql --with-gtest-source=/usr/src/googletest --enable-generate-docs
在安装的时候发现缺少 flex bison python 和 sphinx 的依赖,进行安装:
sudo apt-get install flex bison python3 python3-sphinx -y
然后执行编译指令
make -j4