NS-3 dce和iperf3

时间:2014-12-18 12:06:52

标签: linux makefile ns-3 iperf dce

在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 

有谁知道该怎么办?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:-1)

您可以按照此guide使用libOS构建iperf3:

  

...上述错误是由于gcc配置文件之间的兼容性差   选项('-pg')和PIC选项。

     

因为即使出现此错误也构建了主二进制文件(iperf3)   可以在(顶部)/src/.libs/iperf3上看到iperf3二进制文件。

     DCE似乎需要

禁用iperf3_profile的构建   建立。补丁是受欢迎的;)

但是,由于缺少符号(__h_errno_location),目前无法运行iperf3。这可以通过patch teto来修复。