NS-3 dce 和 iperf3
Posted
技术标签:
【中文标题】NS-3 dce 和 iperf3【英文标题】:NS-3 dce and iperf3 【发布时间】:2014-12-18 12:06:51 【问题描述】:在 NS-3 DCE(网络模拟器 3 直接代码执行)中,NS-3 版本 3.21 和 dce 版本 1.4,默认情况下包含的二进制文件之一是 iperf。然而,这个版本的 iperf 是 2.0.5,而最新版本的 iperf 是 3.0.10。由于 iperf3 不向后兼容 iperf2,并且 iperf3 提供了一些有趣的新功能,如果我可以将 iperf3 与 NS-3 dce 一起使用将非常有帮助。
如下链接所述: http://www.nsnam.org/docs/dce/release/1.1/manual/html/dce-user-newapps.html 必须调整某些要求(如 makefile 中的标志)以生成可供 dce 使用的二进制文件。
但是我无法让它工作。我尝试更改 iperf3 附带的所有 3 个 Makefile (-fpic CFLAG 和 -pie -rdynmic LDFLAGS),但是当我尝试构建它时仍然出现错误:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/gcrt1.o : relocation R_X86_64_32S against '__libc_csu_fini' can not be used when making a shared object: recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/gcrt1.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [iperf3_profile] Error 1
make[2]: Leaving directory
有人知道该怎么做吗?
非常感谢任何帮助!
【问题讨论】:
尝试将-fpic
改为-fPIC
【参考方案1】:
您可以按照guide 使用 libOS 构建 iperf3:
...上述错误是由于gcc配置文件之间的兼容性不好 选项 ('-pg') 和 PIC 选项。
因为即使出现此错误,主二进制文件 (iperf3) 也已构建,所以您 可以在 (top)/src/.libs/iperf3 看到 iperf3 二进制文件。
似乎需要为 DCE 禁用 iperf3_profile 的构建 建造。欢迎使用补丁 ;)
但是,由于缺少符号 (__h_errno_location),目前您无法运行 iperf3。这可以通过 teto 的patch 来解决。
【讨论】:
以上是关于NS-3 dce 和 iperf3的主要内容,如果未能解决你的问题,请参考以下文章