[ndnSIM] Failed to install OpenFlow module in ndnSIM

Md Monjurul Karim karim.npu at gmail.com
Mon Feb 5 20:29:39 PST 2018


Greetings everyone,

I was trying to install OpenFlow module in ndnSIM.

I was following OpenFlow installation on NS-3 mentioned
https://www.nsnam.org/docs/release/3.13/models/html/openflow-switch.html

=======================================================================

Setting top to                           : /home/user/ndnSIM/ns-3
Setting out to                           : /home/user/ndnSIM/ns-3/build
Checking for 'gcc' (C compiler)          : /usr/bin/gcc
Checking for cc version                  : 5.4.0
Checking for 'g++' (C++ compiler)        : /usr/bin/g++
Checking supported compiler CXXFLAGS     : -std=c++0x -std=c++11
Checking supported optimizations CXXFLAGS : -O0
Checking supported debug CXXFLAGS         : -ggdb -g3
Checking supported warnings CXXFLAGS      : -Wall
-Wno-error=deprecated-declarations -fstrict-aliasing -Wstrict-aliasing
Checking for compilation flag -Wl,--soname=foo support : ok
Checking for program 'python'                          : /usr/bin/python
Checking for python version                            : (2, 7, 12,
'final', 0)
python-config                                          :
/usr/bin/python-config
Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes
Testing pyembed configuration                                      : yes
Asking python-config for pyext '--cflags --libs --ldflags' flags   : yes
Testing pyext configuration                                        : yes
Checking for compilation flag -fvisibility=hidden support          : ok
Checking for compilation flag -Wno-array-bounds support            : ok
Checking for pybindgen location                                    :
../pybindgen (guessed)
Checking for python module 'pybindgen'                             : 0.18.0
Checking for pybindgen version                                     : 0.18.0
Checking for code snippet                                          : yes
Checking for types uint64_t and unsigned long equivalence          : no
Checking for code snippet                                          : no
Checking for types uint64_t and unsigned long long equivalence     : yes
Checking for the apidefs that can be used for Python bindings      :
gcc-LP64
Checking for internal GCC cxxabi                                   :
complete
Checking for python module 'pygccxml'                              : 1.0.0
Checking for pygccxml version                                      : 1.0.0
pygccxml (found 1.0.0) is too old (need 1.9.0) => automatic scanning of API
definitions will not be possible
Checking boost includes                                            : 1_58
Checking boost libs                                                : ok
Checking for boost linkage                                         : ok
Checking for click location                                        : not
found
Checking for program 'pkg-config'                                  :
/usr/bin/pkg-config
Checking for 'gtk+-2.0' >= 2.12                                    : not
found
Checking for 'libxml-2.0' >= 2.7                                   : yes
Checking for type uint128_t                                        : not
found
Checking for type __uint128_t                                      : yes
Checking high precision implementation                             :
128-bit integer (default)
Checking for header stdint.h                                       : yes
Checking for header inttypes.h                                     : yes
Checking for header sys/inttypes.h                                 : not
found
Checking for header sys/types.h                                    : yes
Checking for header sys/stat.h                                     : yes
Checking for header dirent.h                                       : yes
Checking for header stdlib.h                                       : yes
Checking for header signal.h                                       : yes
Checking for header pthread.h                                      : yes
Checking for header stdint.h                                       : yes
Checking for header inttypes.h                                     : yes
Checking for header sys/inttypes.h                                 : not
found
Checking for library rt                                            : yes
Checking for header sys/ioctl.h                                    : yes
Checking for header net/if.h                                       : yes
Checking for header net/ethernet.h                                 : yes
Checking for header linux/if_tun.h                                 : yes
Checking for header netpacket/packet.h                             : yes
Checking for NSC location                                          : not
found
Checking for program 'doxygen'                                     :
/usr/bin/doxygen
Checking for program 'tar'                                         :
/bin/tar
Checking for program 'sphinx-build'                                :
/usr/bin/sphinx-build
Checking for std::is_default_constructible                         : yes
Checking for std::is_nothrow_move_constructible                    : yes
Checking for std::is_nothrow_move_assignable                       : yes
Checking for std::to_string                                        : yes
Checking for std::vector::insert with const_iterator               : yes
Checking for library pthread                                       : yes
Checking for 'sqlite3'                                             : yes
Checking for OpenSSL lib                                           :
"OpenSSL 1.0.2g-fips  1 Mar 2016"
Checking if OpenSSL library works                                  : yes
Checking for OpenFlow location                                     :
/home/user/ndnSIM/openflow/ (given)
Checking for library dl                                            : yes
Checking for library xml2                                          : yes
Checking for library openflow                                      : yes
Checking for 'sqlite3'                                             : yes
Checking for header linux/if_tun.h                                 : yes
Checking for python module 'gtk'                                   : ok
Checking for python module 'goocanvas'                             : 0.14.1
Checking for python module 'pygraphviz'                            : 1.3.1
Checking boost includes                                            : 1_58
Checking for program 'sudo'                                        :
/usr/bin/sudo
Checking for program 'valgrind'                                    :
/usr/bin/valgrind
Checking for 'gsl'                                                 : yes
python-config                                                      : not
found
Checking for program 'doxygen'                                     :
/usr/bin/doxygen
---- Summary of optional NS-3 features:
Build profile                 : debug
Build directory               :
BRITE Integration             : not enabled (BRITE not enabled (see option
--with-brite))
DES Metrics event collection  : not enabled (defaults to disabled)
Emulation FdNetDevice         : enabled
Examples                      : not enabled (defaults to disabled)
File descriptor NetDevice     : enabled
GNU Scientific Library (GSL)  : enabled
Gcrypt library                : not enabled (libgcrypt not found: you can
use libgcrypt-config to find its location.)
GtkConfigStore                : not enabled (library 'gtk+-2.0 >= 2.12' not
found)
MPI Support                   : not enabled (option --enable-mpi not
selected)
NS-3 Click Integration        : not enabled (nsclick not enabled (see
option --with-nsclick))
NS-3 OpenFlow Integration     : enabled
Network Simulation Cradle     : not enabled (NSC not found (see option
--with-nsc))
PlanetLab FdNetDevice         : not enabled (PlanetLab operating system not
detected (see option --force-planetlab))
PyViz visualizer              : enabled
Python API Scanning Support   : not enabled (pygccxml Python module too old)
Python Bindings               : enabled
Real Time Simulator           : enabled
SQlite stats data output      : enabled
Tap Bridge                    : enabled
Tap FdNetDevice               : enabled
Tests                         : not enabled (defaults to disabled)
Threading Primitives          : enabled
Use sudo to set suid bit      : not enabled (option --enable-sudo not
selected)
XmlIo                         : enabled
ndnSIM                        : enabled
'configure' finished successfully (7.096s)

===========================================================

However, while linking OpenFlow libraries, I have encountered following
error:

[3376/3503] Linking
build/src/lte/examples/ns3-dev-lena-deactivate-bearer-debug
[3377/3503] Linking
build/examples/traffic-control/ns3-dev-red-vs-nlred-debug
[3378/3503] Linking build/examples/wireless/ns3-dev-multirate-debug
[3379/3503] Linking
build/src/openflow/examples/ns3-dev-openflow-switch-debug
[3380/3503] Linking
build/examples/wireless/ns3-dev-power-adaptation-distance-debug
[3381/3503] Linking
build/examples/wireless/ns3-dev-power-adaptation-interference-debug
[3382/3503] Linking
build/src/wave/examples/ns3-dev-vanet-routing-compare-debug
[3383/3503] Linking build/src/lte/examples/ns3-dev-lena-fading-debug
[3384/3503] Linking
build/src/lte/examples/ns3-dev-lena-frequency-reuse-debug

*./libns3-dev-openflow-debug.so: undefined reference to `update_checksums'*
*collect2: error: ld returned 1 exit status*

Waf: Leaving directory `/home/user/ndnSIM/ns-3/build'
*Build failed*
* -> task in 'openflow-switch' failed (exit status 1): *
* {task 139948845677712: cxxprogram openflow-switch.cc.1.o ->
ns3-dev-openflow-switch-debug}*

*['/usr/bin/g++', '-pthread',
'src/openflow/examples/openflow-switch.cc.1.o', '-o',
'/home/user/ndnSIM/ns-3/build/src/openflow/examples/ns3-dev-openflow-switch-debug',
'-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.',
'-L/home/user/ndnSIM/openflow/build/default',
'-L/home/user/ndnSIM/openflow/lib', '-lns3-dev-openflow-debug',
'-lns3-dev-applications-debug', '-lns3-dev-internet-debug',
'-lns3-dev-bridge-debug', '-lns3-dev-mpi-debug',
'-lns3-dev-traffic-control-debug', '-lns3-dev-csma-debug',
'-lns3-dev-config-store-debug', '-lns3-dev-network-debug',
'-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lrt', '-lpthread',
'-lgsl', '-lgslcblas', '-lm', '-lsqlite3', '-lopenflow', '-ldl', '-ldl',
'-lxml2', '-lxml2']*





Am I missing some pre-configuration before running ./waf config.......


Sincerely,
Karim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20180206/d86ad6dc/attachment-0001.html>


More information about the ndnSIM mailing list