I got ns-3 up and running on Ubuntu 16.04 based on the install instructions for 14.10. Two main changes were needed:
- Packages for the GNU Scientific Library have changed. For 16.04, the correct combo appears to be: gsl-bin libgsl2 libgsl-dev
- Ubuntu 16.04 ships with gcc 5.4.0, and I also installed clang 4.0. Both errored out due to complaints about overloaded virtual functions. This was solved through: $ export CXXFLAGS=-Wno-error=overloaded-virtual
Compilation then completes and testing gives 405 of 408 tests passed, with three tests skipped:
- ns3-tcp-cwnd
- ns3-tcp-interoperability
- nsc-tcp-loss
Are the skipped tests a reason for concern?
Full process, starting with a clean install of 16.04:
Install packages:
$ sudo apt-get install gcc g++ python python-dev qt4-dev-tools libqt4-dev mercurial bzr cmake libc6-dev libc6-dev-i386 g++-multilib gdb valgrind gsl-bin libgsl2 libgsl-dev flex bison libfl-dev tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libgtk2.0-0 libgtk2.0-dev uncrustify python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev vtun lxc bridge-utils uml-utilities doxygen graphviz imagemagick texlive texlive-extra-utils texlive-latex-extra python-sphinx dia wireshark gnuplot plotdrop libboost-all-dev openmpi-bin openmpi-common openmpi-doc libopenmpi-dev unrar-free autoconf cvs git unzip p7zip-full python-setuptools
Then, get the code downloaded and configured:
$ cd ns-3-allinone
$ ./download.py
$ ./build.py
Don't stop compilation on an overloaded virtual function warning:
$ export CXXFLAGS=-Wno-error=overloaded-virtual
Initial build:
$ ./build.py
Configure and perform was build:
$ cd ns-3-dev
$ ./waf clean
$ ./waf --build-profile=debug --enable-examples --enable-tests configure
Run tests:
$ ./test.py
Test output concludes with:
405 of 408 tests passed (405 passed, 3 skipped, 0 failed, 0 crashed, 0 valgrind errors)
List of SKIPped tests:
ns3-tcp-cwnd
ns3-tcp-interoperability
nsc-tcp-loss