Errata against ns-3.28 release
gcc-8 machines: Shortly after the ns-3.28 release, Fedora 28 was released, featuring gcc-8 as the default compiler. This compiler, when used with the default configuration of ns-3's build scripts, will fail to compile ns-3 when the system discovers and tries to use GTK+ libraries.
An example error output is:
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: error: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Werror=parentheses] void (*__gtk_reserved1);
One workaround is to disable the use of GTK using the configure option '--disable-gtk'
./waf configure --enable-examples --enable-tests --disable-gtk
Another workaround is to pass modified CXXFLAGS to the waf configure step; i.e. instead of configuring as:
./waf configure --enable-examples --enable-tests
instead type (all in one line):
CXXFLAGS="-Wall -Werror -Wno-parentheses" ./waf configure --enable-examples --enable-tests
A modification to ns-3 build scripts is in progress and may be posted as a future incremental release (and will be included in ns-3.29 and later releases).
Ubuntu 18.04 pygoocanvas and pyviz: Ubuntu has stopped distributing pygoocanvas (Python bindings for goocanvas) as of release 18.04, and the existing version of Pyviz visualizer depends on this. There is no posted workaround for this problem on Ubuntu 18.04, although users may be able to build and install pygoocanvas from source. A fix for Pyviz (port to newer packages) is in work.