背景
科研中,对SRv6仿真需要用到P4,故搭建其依赖库Protocol Buffers。(搭建P4环境找到了更简便有效的方法不在此文介绍,请移步笔者其他文章)
安装虚拟机
不再赘述,本文使用VMware Workstation Pro搭建虚拟机
~~## 安装依赖包
使用sudo aptitude install <packet name>
依次安装依赖包
g++ git automake libtool libgc-dev bison flex libfl-dev libgmp-dev libboost-dev libboost-iostreams-dev pkg-config python python-scapy python-ipaddr tcpdump cmake autoconf curl make unzip
若安装过程中出现依赖冲突的问题,选择aptitude合适的解决方案即可。
安装Protocol Buffers
下载Protocol Buffers 3.5.0版本源码 (新版本安装过程中有解决不了的问题,故放弃使用)
https://github.com/protocolbuffers/protobuf/releases/tag/v3.5.0
使用unzip解压源码进入其根目录
依次运行
./autogen.sh
./configure
make
make check
若./configure过程中出现警告
configure: WARNING: no configuration information is in third_party/googletest
是由于墙Google缺失文件
在 https://github.com/google/googletest/releases
下载解压后改名为googletest并将其放入路径
/protobuf-3.5.0/third-party==
无误后运行make check
显示如下
表示单元测试已经通过
运行 sudo make install
运行 protoc --version
报错 protoc: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory
解决方法:
进入/etc/ld.so.conf.d目录下,使用sudo touch libprotobuf.conf
命令创建libprotobuf.conf文件
使用Vim编辑libprotobuf.conf,插入内容:/usr/local/lib
运行sudo ldconfig
注:无论是否报错都需要运行
再运行protoc --version
安装成功!