您的位置:首页 > 运维架构 > Linux

Linux下安装ROHC协议库并测试

2016-05-16 17:11 429 查看

引言

关于ROHC协议的介绍我就不说了,详见我的另一篇博客《ROHC协议简介》,地址如下:

http://blog.csdn.net/u013793399/article/details/51425161


本来我是想在同一片文章里先写协议简介,然后写怎么安装怎么配置怎么测试等等。结果写完简介发现好长。。。只好再开一篇。

这次,我们从零开始,在Ubuntu系统中,安装RoHC协议库,并且编译、运行官方自带的测试文件。

步骤

首先要下载协议包。下载地址:

https://rohc-lib.org/support/download/#supported-releases


这个协议是开源的,也可以用作商业用途,唯一限制就是如果用了这个开源协议,那么做出来的东西也必须开源。

下载libpcap和cmocka支持包,ROHC协议库需要先安装这两个包才能安装。下载地址:

http://pan.baidu.com/s/1c1ZjGGg


也可以直接去官方下载地址下载,这样还能下载到最新的版本。

把上面三个包拖到Ubuntu虚拟机里,解压缩,就像这样:



接下来要开始安装了。

在安装的过程中,有可能会出现xxx not found的错误。这是因为有些支持包在你的系统里没有,但是不要担心,无需专门去下载,需要专门下载的两个包你都已经下载好了→_→

只需要用

sudo apt-get install xxx

//xxx是包名

即可安装缺失的包

先安装libpcap和cmocka。打开libpcap解压后的目录,找到INSTALL安装文档。



双击打开,看第一段。



所以安装步骤很明确了,打开终端,cd 到解压目录,按顺序分别输入以下命令:

./configure
make
su
//这里要输入你的密码
make install








然后就装好了。

同样的,我们打开cmocka目录,找到README文件。



所以安装步骤就是,

先在解压目录下新建一个build文件夹

然后在命令行cd到该文件夹,输入:

sudo apt-get install cmake
cmake /这里写你的安装路径
make






我这里是因为已经装过一次,build文件夹不为空,所以会报错,如果build是空的就会成功。



然后我们来装ROHC

打开rohc的解压目录,找到README



妹的。。。好吧我们去找INSTALL





所以很明显了,这个库本身不需要另外的支持包,但是如果想加点什么鬼,例如测试什么的,就需要别的包支持,然后列出了一大堆包,其中就有我们已经装好的libpcap和cmocka。

没办法,装呗,反正都是同一句命令。

装好支持包后,在rohc根目录输入

./configure --prefix=/这里输入你要安装的路径
make all
make install
然后把上图的一堆enable全部装上
举个栗子
./configure --enable-app-fuzzer
注意,前面的都可以一条条分开装,但是最后两条必须这样写:
./configure --enable-rohc-tests --enable-rohc-tests-valgrind
这是因为valgrind安装的条件的其中一个是tests需要被同时安装,如果分开装会报错,告诉你tests不支持。


最后是测试,这个地方是坑的一笔,搞了我一整天。

在ROHC官网上找到测试的教程,网址如下:

https://rohc-lib.org/wiki/doku.php?id=library-tests


例如我们测试无反馈信道的情况:

cd tests/non_regression
按照教程,输入
./test_non_regression_*.sh




诶??为什么不行???

那是因为还没有生成这个工程的输出文件,就这个鬼搞了我好久好久,真是槽点满满。

我们在这个目录下能找到一个.c文件,但是千万不要用gcc编译它,会被编译器玩死的,编译器会告诉你找不到某个文件,但是你发现那个文件就在上一级目录,或者在别的目录,你很开心,复制到工程目录,再编译,然后编译器找不到另一个文件,形成恶性循环。而那些“找不到”的文件,都在makefile里面明确指出了路径,makefile就是文件之间的走线啊。。。

真正的解决方法是:

在non_regression目录下

make test_non_regression


没错。。。不需要.c后缀,我也不知道为什么。。。

然后就可以

./test_non_regression_*.sh




终于成功了。。。T_T

简直感动哭了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu linux ROHC