NS-3 dce и iperf3

В NS-3 DCE (Network Simulator 3 Direct Code Exectution), с 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 существуют определенные требования (например, флаги в make-файле), которые имеют быть настроенным для генерации двоичного файла, который может быть использован dce.

Я не могу заставить это работать однако. Я попытался изменить все 3 файла Makefile, которые поставлялись с iperf3 (-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 ответ

Вы можете следовать этому руководству для сборки iperf3 с libOS:

... вышеуказанная ошибка связана с плохой совместимостью между параметром профиля gcc ('-pg') и параметром PIC.

Поскольку основной двоичный файл (iperf3) был создан даже с этой ошибкой, вы можете увидеть двоичный файл iperf3 в (вверху)/src/.libs/iperf3.

отключение сборки для iperf3_profile, по-видимому, необходимо для сборки DCE. патчи приветствуются;)

Однако в настоящее время вы не можете запустить iperf3 из-за отсутствия символа (__h_errno_location). Это можно исправить с помощью патча Тето.

Другие вопросы по тегам