Issues Compiling Client Side
In following the instructions listed here (https://wiki.emulab.net/wiki/ubuntu14build-1) I was running into the following bug when I was trying to run
Making all in compat make: Entering directory '/root/obj/clientside/event/linktest/iperf/compat' if g++ -DHAVE_CONFIG_H -I. -I../iperf-2.0.2/compat -I.. -I../iperf-2.0.2/include -I../include -O2 -MT delay.o -MD -MP -MF ".deps/delay.Tpo" -c -o delay.o ../iperf-2.0.2/compat/delay.cpp; \ then mv -f ".deps/delay.Tpo" ".deps/delay.Po"; else rm -f ".deps/delay.Tpo"; exit 1; fi In file included from /usr/include/c++/6/cmath:42:0, from /usr/include/c++/6/math.h:36, from ../iperf-2.0.2/include/headers.h:85, from ../iperf-2.0.2/include/Timestamp.hpp:63, from ../iperf-2.0.2/compat/delay.cpp:53: /usr/include/c++/6/bits/cpp_type_traits.h:205:12: error: redefinition of ‘struct std::__is_integer<int>’ struct __is_integer<int> ^~~~~~~~~~~~~~~~~ /usr/include/c++/6/bits/cpp_type_traits.h:138:12: error: previous definition of ‘struct std::__is_integer<int>’ struct __is_integer<bool> ^~~~~~~~~~~~~~~~~~ Makefile:266: recipe for target 'delay.o' failed
This appears to be a bug with iperf 2.0.2 when compiling with GCC 6 (latest GCC package for Ubuntu 16.10) according to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831180.
I am trying to substitute the source of iperf 2.0.9 for iperf 2.0.2, as the bug appears to have been fixed in that version.