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 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- Linux socket 初步
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- ubuntu下chrome无法同步问题解决
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验