Bug 1427

Summary: Build failed -> task in 'pybindgen(ns3 module dsr)' failed (exit status 1):
Product: ns-3 Reporter: mynorkin
Component: aodvAssignee: ns-bugs <ns-bugs>
Status: RESOLVED FIXED    
Severity: critical CC: ns-bugs, tomh, vedran
Priority: P5    
Version: ns-3.13   
Hardware: PC   
OS: Linux   

Description mynorkin 2012-05-14 13:15:25 UTC
I having a difficulty to build the NS3 on Fedora 16. Below are the build.py output:

./build.py 
# Build NSC
Entering directory `nsc'
 =>  /usr/bin/python scons.py
scons: Reading SConscript files ...
Checking target architecure...(cached) x86
Checking for C library fl... no
Did not find libfl.a and/or flex. Please install flex and its development libraries.
# Build NSC: failure (ignoring NSC)
Leaving directory `nsc'
# Build NS-3
Entering directory `./ns-3-dev'
Note: configuring ns-3 without NSC
 =>  /usr/bin/python waf configure --with-pybindgen ../pybindgen
Setting top to                           : /home/hafizan/repos/ns-3-allinone/ns-3-dev 
Setting out to                           : /home/hafizan/repos/ns-3-allinone/ns-3-dev/build 
Checking for 'gcc' (c compiler)          : /usr/bin/gcc 
Checking for 'g++' (c++ compiler)        : /usr/bin/g++ 
Checking for program pkg-config          : /usr/bin/pkg-config 
Checking for compilation flag -Wl,--soname=foo... support : ok 
Checking for program python                               : /usr/bin/python 
Checking for python version                               : (2, 7, 3, 'final', 0) 
Checking for library python2.7 in LIBDIR                  : yes 
Checking for program python2.7-config,python-config-2.7,python2.7m-config : /usr/bin/python2.7-config 
Checking for header Python.h                                              : yes 
Checking for compilation flag -fvisibility=hidden... support              : ok 
Checking for compilation flag -Wno-array-bounds... support                : ok 
Checking for pybindgen location                                           : ../pybindgen (given) 
Python module pybindgen                                                   : ok 
Checking for pybindgen version                                            : 0.15.0.797 
Checking for types uint64_t and unsigned long equivalence                 : no 
Checking for types uint64_t and unsigned long long equivalence            : yes 
Checking for the apidefs that can be used for Python bindings             : gcc-ILP32 
Checking for internal GCC cxxabi                                          : complete 
Python module pygccxml                                                    : 1.0.0 
Checking for pygccxml version                                             : 1.0.0 
Checking for program gccxml                                               : /usr/bin/gccxml 
Checking for gccxml version                                               : 0.9.0 
Checking for click location                                               : not found 
Checking for pkg-config flags for GTK_CONFIG_STORE                        : ok 
Checking for pkg-config flags for LIBXML2                                 : ok 
Checking for type uint128_t                                               : not found 
Checking for type __uint128_t                                             : not found 
Checking high precision time implementation                               : cairo 128-bit integer 
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 netpacket/packet.h                                    : yes 
Checking for NSC location                                                 : ../nsc (guessed) 
Checking for library dl                                                   : yes 
Checking for NSC supported architecture i686                              : ok 
Checking for header sys/socket.h                                          : yes 
Checking for header netinet/in.h                                          : yes 
Checking boost includes                                                   : not found 
Checking for library sqlite3                                              : yes 
Checking for header linux/if_tun.h                                        : yes 
Python module gtk                                                         : ok 
Python module goocanvas                                                   : not found 
Python module pygraphviz                                                  : not found 
Checking for program sudo                                                 : /usr/bin/sudo 
Checking for program valgrind                                             : /usr/bin/valgrind 
Checking for pkg-config flags for GSL                                     : ok 
Checking for compilation flag -Wno-error=deprecated-d... support          : ok 
Checking for compilation flag -Wno-error=deprecated-d... support          : ok 
Checking for compilation flag -fstrict-aliasing... support                : ok 
Checking for compilation flag -fstrict-aliasing... support                : ok 
Checking for compilation flag -Wstrict-aliasing... support                : ok 
Checking for compilation flag -Wstrict-aliasing... support                : ok 
Checking for program doxygen                                              : /usr/bin/doxygen 
---- Summary of optional NS-3 features:
Python Bindings               : enabled
Python API Scanning Support   : enabled
NS-3 Click Integration        : not enabled (nsclick not enabled (see option --with-nsclick))
GtkConfigStore                : enabled
XmlIo                         : enabled
Threading Primitives          : enabled
Real Time Simulator           : enabled
Emulated Net Device           : enabled
Network Simulation Cradle     : not enabled (NSC library liblinux2.6.26.so is missing: NSC has not been built?)
MPI Support                   : not enabled (option --enable-mpi not selected)
NS-3 OpenFlow Integration     : not enabled (Required boost libraries not found)
SQlite stats data output      : enabled
Tap Bridge                    : enabled
PyViz visualizer              : not enabled (Missing python modules: goocanvas, pygraphviz)
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)
Build tests                   : not enabled (defaults to disabled)
Build examples                : not enabled (defaults to disabled)
GNU Scientific Library (GSL)  : enabled
'configure' finished successfully (14.680s)
 =>  /usr/bin/python waf build
Waf: Entering directory `/home/hafizan/repos/ns-3-allinone/ns-3-dev/build'
[ 165/1480] command (${PYTHON}): bindings/python/ns3modulegen-modular.py src/dsr/bindings/modulegen__gcc_ILP32.py -> build/src/dsr/bindings/ns3module.cc build/src/dsr/bindings/ns3module.h build/src/dsr/bindings/ns3modulegen.log
Waf: Leaving directory `/home/hafizan/repos/ns-3-allinone/ns-3-dev/build'
Build failed
 -> task in 'pybindgen(ns3 module dsr)' failed (exit status 1): 
	{task 142989516: command_task ns3modulegen-modular.py,modulegen__gcc_ILP32.py -> ns3module.cc,ns3module.h,ns3modulegen.log}
''
Traceback (most recent call last):
  File "./build.py", line 147, in <module>
    sys.exit(main(sys.argv))
  File "./build.py", line 138, in main
    build_ns3(config, build_examples, build_tests, args, build_options)
  File "./build.py", line 61, in build_ns3
    run_command([sys.executable, "waf", "build"] + build_options)
  File "/home/hafizan/repos/ns-3-allinone/util.py", line 24, in run_command
    raise CommandError("Command %r exited with code %i" % (argv, retval))
util.CommandError: Command ['/usr/bin/python', 'waf', 'build'] exited with code 1

Anyone have any idea on this issue?
Downloaded using Mercurial
Installation based on Fedora Installation on NSNAM Wiki
Comment 1 Gustavo J. A. M. Carneiro 2012-05-15 11:08:38 UTC
I solved the pybindgen generation error.  However, when building the python bindings another bug occurs.  Pybindgen does not support containers whose elements are of a type that has no default constructor.  I need to commit this patch to make the python bindings build again.

But I do not know who is the DSR maintainer.  He needs to approve this patch.  Tom, do you know who he is?


diff -r 125866c49570 src/dsr/model/dsr-rcache.h
--- a/src/dsr/model/dsr-rcache.h	Tue May 15 15:53:20 2012 +0100
+++ b/src/dsr/model/dsr-rcache.h	Tue May 15 16:03:15 2012 +0100
@@ -493,6 +493,8 @@
         close (false)
     {
     }
+
+    Neighbor () {} // For Python bindings
   };
   // / Return expire time for neighbor node with address addr, if exists, else return 0.
   Time GetExpireTime (Ipv4Address addr);
Comment 2 Tom Henderson 2012-05-15 15:36:00 UTC
(In reply to comment #1)

> 
> But I do not know who is the DSR maintainer.  He needs to approve this patch. 
> Tom, do you know who he is?

Yufei Cheng-- I will ask him to respond.
Comment 3 Tom Henderson 2012-05-15 17:23:41 UTC
*** Bug 1428 has been marked as a duplicate of this bug. ***
Comment 4 Gustavo J. A. M. Carneiro 2012-05-18 05:19:33 UTC
*** Bug 1429 has been marked as a duplicate of this bug. ***
Comment 5 Tom Henderson 2012-05-20 00:00:26 UTC
pushed as changeset: b05792ad16f7 after Yufei's ack