Bug 707

Summary: new build fail ,open solaris
Product: ns-3 Reporter: Aqil Assalil <quantummov>
Component: generalAssignee: ns-bugs <ns-bugs>
Status: RESOLVED WONTFIX    
Severity: normal CC: mathieu.lacage, tommaso.pecorella
Priority: P5    
Version: pre-release   
Hardware: PC   
OS: Other   

Description Aqil Assalil 2009-10-06 23:50:05 EDT
salil@lpsolaris:~/Documents/ns-allinone-3.5.1# python build.py
# Build NSC
Entering directory `nsc-0.5.1'
 =>  python scons.py linux-2.6.18
scons: Reading SConscript files ...
OSError: Unsupported architecture, if you want to crosscompile, use "scons target=x86" (or amd64):
  File "/export/home/salil/Documents/ns-allinone-3.5.1/nsc-0.5.1/SConstruct", line 126:
    if not conf.get_target_architecture():
  File "/export/home/salil/Documents/ns-allinone-3.5.1/nsc-0.5.1/scons-local-1.2.0.d20090223/SCons/SConf.py", line 647:
    ret = apply(self.test, (context,) +  args, kw)
  File "/export/home/salil/Documents/ns-allinone-3.5.1/nsc-0.5.1/SConstruct", line 69:
    raise OSError, ('Unsupported architecture, if you want to '
Checking target architecure...# Build NSC: failure (ignoring NSC)
Leaving directory `nsc-0.5.1'
# Build NS-3
Entering directory `ns-3.5.1'
Note: configuring ns-3 without NSC
 =>  python waf configure --with-regression-traces ../ns-3.5.1-ref-traces --with-pybindgen ../pybindgen-0.10.0.640
Checking for program g++                 : ok /usr/bin/g++ 
Checking for program cpp                 : not found 
Checking for program ar                  : ok /usr/bin/ar 
Checking for program ranlib              : ok /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for program pkg-config          : not found 
Checking for regression traces location  : ok ../ns-3.5.1-ref-traces (given) 
Checking for -Wno-error=deprecated-declarations support : no 
Checking for header stdlib.h                            : ok 
Checking for header signal.h                            : ok 
Checking for header pthread.h                           : ok 
Checking for high precision time implementation         : 128-bit integer 
Checking for header stdint.h                            : ok 
Checking for header inttypes.h                          : ok 
Checking for header sys/inttypes.h                      : ok 
Checking for library rt                                 : ok 
Checking for header netpacket/packet.h                  : not found 
Checking for header linux/if_tun.h                      : not found 
Checking for library sqlite3                            : ok 
Checking for NSC location                               : not found 
Checking for program python                             : ok /usr/bin/python 
Checking for Python version >= 2.3                      : ok 2.4.4 
Checking for library python2.4                          : ok 
Checking for program python2.4-config                   : not found 
Checking for program python-config-2.4                  : not found 
Checking for header Python.h                            : ok 
Checking for pybindgen location                         : ok ../pybindgen-0.10.0.640 (given) 
Checking for Python module pybindgen                    : ok  
Checking for pybindgen version                          : ok 0.10.0.640 
Checking for Python module pygccxml                     : not found 
Checking for program sudo                               : ok /usr/bin/sudo 
Checking for program hg                                 : ok /usr/bin/hg 
Checking for program valgrind                           : not found 
---- Summary of optional NS-3 features:
Threading Primitives          : enabled
Real Time Simulator           : enabled
Emulated Net Device           : not enabled (<netpacket/packet.h> include not detected)
GNU Scientific Library (GSL)  : not enabled (GSL not found)
Tap Bridge                    : not enabled (<linux/if_tun.h> include not detected)
GtkConfigStore                : not enabled (library 'gtk+-2.0 >= 2.12' not found)
XmlIo                         : not enabled (library 'libxml-2.0 >= 2.7' not found)
SQlite stats data output      : enabled
Network Simulation Cradle     : not enabled (NSC not found (see option --with-nsc))
Python Bindings               : enabled
Python API Scanning Support   : not enabled (Missing 'pygccxml' Python module)
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)
Static build                  : not enabled (option --enable-static not selected)
'configure' finished successfully (6.981s)
 =>  python waf
Waf: Entering directory `/export/home/salil/Documents/ns-allinone-3.5.1/ns-3.5.1/build'
[293/677] cxx: src/core/names.cc -> build/debug/src/core/names_1.o
g++: unrecognized option `-pthread'
In file included from debug/ns3/simulator.h:27,
                 from ../src/core/names.cc:25:
debug/ns3/nstime.h:42: error: expected identifier before numeric constant
debug/ns3/nstime.h:42: error: expected `}' before numeric constant
debug/ns3/nstime.h:42: error: expected unqualified-id before numeric constant
debug/ns3/nstime.h:42: error: expected `,' or `;' before numeric constant
debug/ns3/nstime.h:53: error: variable or field `Set' declared void
debug/ns3/nstime.h:53: error: `precision_t' was not declared in this scope
debug/ns3/nstime.h:57: error: `precision_t' does not name a type
debug/ns3/nstime.h:119: error: expected `)' before "data"
debug/ns3/nstime.h:149: error: ISO C++ forbids declaration of `HighPrecision' with no type
debug/ns3/nstime.h:149: error: expected `;' before "const"
debug/ns3/nstime.h:150: error: ISO C++ forbids declaration of `HighPrecision' with no type
debug/ns3/nstime.h:150: error: expected `;' before '*' token
debug/ns3/nstime.h:153: error: `HighPrecision' does not name a type
debug/ns3/nstime.h: In constructor `TimeUnit<N>::TimeUnit()':
debug/ns3/nstime.h:158: error: class `TimeUnit<N>' does not have any field named `m_data'
debug/ns3/nstime.h: In copy constructor `TimeUnit<N>::TimeUnit(const TimeUnit<N>&)':
debug/ns3/nstime.h:162: error: class `TimeUnit<N>' does not have any field named `m_data'
debug/ns3/nstime.h: In member function `TimeUnit<N> TimeUnit<N>::operator=(const TimeUnit<N>&)':
debug/ns3/nstime.h:168: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:168: error: (Each undeclared identifier is reported only once for each function it appears in.)
debug/ns3/nstime.h: At global scope:
debug/ns3/nstime.h:172: error: expected constructor, destructor, or type conversion before '(' token
debug/ns3/nstime.h:172: error: expected `;' before '(' token
debug/ns3/nstime.h:177: error: expected constructor, destructor, or type conversion before "const"
debug/ns3/nstime.h:177: error: expected `;' before "const"
debug/ns3/nstime.h:183: error: expected constructor, destructor, or type conversion before '*' token
debug/ns3/nstime.h:183: error: expected `;' before '*' token
debug/ns3/nstime.h: In member function `bool TimeUnit<N>::IsZero() const':
debug/ns3/nstime.h:192: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:192: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:192: error: there are no arguments to `Zero' that depend on a template parameter, so a declaration of `Zero' must be available
debug/ns3/nstime.h:192: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
debug/ns3/nstime.h: In member function `bool TimeUnit<N>::IsNegative() const':
debug/ns3/nstime.h:198: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:198: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:198: error: there are no arguments to `Zero' that depend on a template parameter, so a declaration of `Zero' must be available
debug/ns3/nstime.h: In member function `bool TimeUnit<N>::IsPositive() const':
debug/ns3/nstime.h:204: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:204: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:204: error: there are no arguments to `Zero' that depend on a template parameter, so a declaration of `Zero' must be available
debug/ns3/nstime.h: In member function `bool TimeUnit<N>::IsStrictlyNegative() const':
debug/ns3/nstime.h:210: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:210: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:210: error: there are no arguments to `Zero' that depend on a template parameter, so a declaration of `Zero' must be available
debug/ns3/nstime.h: In member function `bool TimeUnit<N>::IsStrictlyPositive() const':
debug/ns3/nstime.h:216: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:216: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:216: error: there are no arguments to `Zero' that depend on a template parameter, so a declaration of `Zero' must be available
debug/ns3/nstime.h: In function `TimeUnit<N> operator+(const TimeUnit<N>&, const TimeUnit<N>&)':
debug/ns3/nstime.h:258: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:258: error: expected `;' before "retval"
debug/ns3/nstime.h:259: error: `retval' undeclared (first use this function)
debug/ns3/nstime.h: In function `TimeUnit<N> operator-(const TimeUnit<N>&, const TimeUnit<N>&)':
debug/ns3/nstime.h:265: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:265: error: expected `;' before "retval"
debug/ns3/nstime.h:266: error: `retval' undeclared (first use this function)
debug/ns3/nstime.h: In function `TimeUnit<(N1 + N2)> operator*(const TimeUnit<N>&, const TimeUnit<N2>&)':
debug/ns3/nstime.h:272: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:272: error: expected `;' before "retval"
debug/ns3/nstime.h:273: error: `retval' undeclared (first use this function)
debug/ns3/nstime.h: In function `TimeUnit<(N1 - N2)> operator/(const TimeUnit<N>&, const TimeUnit<N2>&)':
debug/ns3/nstime.h:283: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:283: error: expected `;' before "retval"
debug/ns3/nstime.h:284: error: `retval' undeclared (first use this function)
debug/ns3/nstime.h: In function `TimeUnit<N>& operator+=(TimeUnit<N>&, const TimeUnit<N>&)':
debug/ns3/nstime.h:289: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:289: error: `lhsv' undeclared (first use this function)
debug/ns3/nstime.h: In function `TimeUnit<N>& operator-=(TimeUnit<N>&, const TimeUnit<N>&)':
debug/ns3/nstime.h:295: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:295: error: `lhsv' undeclared (first use this function)
debug/ns3/nstime.h: In function `TimeUnit<N> Max(const TimeUnit<N>&, const TimeUnit<N>&)':
debug/ns3/nstime.h:322: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:322: error: expected `;' before "a"
debug/ns3/nstime.h:323: error: expected `;' before "b"
debug/ns3/nstime.h:324: error: `a' undeclared (first use this function)
debug/ns3/nstime.h:324: error: `b' undeclared (first use this function)
debug/ns3/nstime.h:324: error: no matching function for call to `Max(<type error>, <type error>)'
debug/ns3/nstime.h: In function `TimeUnit<N> Min(const TimeUnit<N>&, const TimeUnit<N>&)':
debug/ns3/nstime.h:336: error: `HighPrecision' undeclared (first use this function)
debug/ns3/nstime.h:336: error: expected `;' before "a"
debug/ns3/nstime.h:337: error: expected `;' before "b"
debug/ns3/nstime.h:338: error: `a' undeclared (first use this function)
debug/ns3/nstime.h:338: error: `b' undeclared (first use this function)
debug/ns3/nstime.h:338: error: no matching function for call to `Max(<type error>, <type error>)'
debug/ns3/nstime.h: At global scope:
debug/ns3/nstime.h:418: error: expected `)' before "data"
debug/ns3/nstime.h:435: error: ISO C++ forbids declaration of `HighPrecision' with no type
debug/ns3/nstime.h:435: error: expected `;' before "const"
debug/ns3/nstime.h:438: error: expected `;' before "HighPrecision"
debug/ns3/nstime.h:438: error: ISO C++ forbids declaration of `HighPrecision' with no type
debug/ns3/nstime.h:438: error: expected `;' before '*' token
debug/ns3/nstime.h:442: error: expected `;' before "static"
debug/ns3/nstime.h:446: error: `HighPrecision' does not name a type
debug/ns3/nstime.h: In constructor `TimeUnit<1>::TimeUnit()':
debug/ns3/nstime.h:410: error: class `TimeUnit<1>' does not have any field named `m_data'
debug/ns3/nstime.h: In copy constructor `TimeUnit<1>::TimeUnit(const TimeUnit<1>&)':
debug/ns3/nstime.h:413: error: class `TimeUnit<1>' does not have any field named `m_data'
debug/ns3/nstime.h:413: error: 'const class TimeUnit<1>' has no member named 'm_data'
debug/ns3/nstime.h: In member function `TimeUnit<1> TimeUnit<1>::operator=(const TimeUnit<1>&)':
debug/ns3/nstime.h:415: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:415: error: 'const class TimeUnit<1>' has no member named 'm_data'
debug/ns3/nstime.h: In member function `bool TimeUnit<1>::IsZero() const':
debug/ns3/nstime.h:421: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:421: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:421: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<1>::IsNegative() const':
debug/ns3/nstime.h:424: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:424: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:424: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<1>::IsPositive() const':
debug/ns3/nstime.h:427: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:427: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:427: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<1>::IsStrictlyNegative() const':
debug/ns3/nstime.h:430: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:430: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:430: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<1>::IsStrictlyPositive() const':
debug/ns3/nstime.h:433: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:433: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:433: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: At global scope:
debug/ns3/nstime.h:616: error: expected `)' before "data"
debug/ns3/nstime.h:633: error: ISO C++ forbids declaration of `HighPrecision' with no type
debug/ns3/nstime.h:633: error: expected `;' before "const"
debug/ns3/nstime.h:636: error: expected `;' before "HighPrecision"
debug/ns3/nstime.h:636: error: ISO C++ forbids declaration of `HighPrecision' with no type
debug/ns3/nstime.h:636: error: expected `;' before '*' token
debug/ns3/nstime.h:640: error: expected `;' before "private"
debug/ns3/nstime.h:641: error: `HighPrecision' does not name a type
debug/ns3/nstime.h: In constructor `TimeUnit<0>::TimeUnit()':
debug/ns3/nstime.h:608: error: class `TimeUnit<0>' does not have any field named `m_data'
debug/ns3/nstime.h: In copy constructor `TimeUnit<0>::TimeUnit(const TimeUnit<0>&)':
debug/ns3/nstime.h:611: error: class `TimeUnit<0>' does not have any field named `m_data'
debug/ns3/nstime.h:611: error: 'const class TimeUnit<0>' has no member named 'm_data'
debug/ns3/nstime.h: In member function `TimeUnit<0> TimeUnit<0>::operator=(const TimeUnit<0>&)':
debug/ns3/nstime.h:613: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:613: error: 'const class TimeUnit<0>' has no member named 'm_data'
debug/ns3/nstime.h: In member function `bool TimeUnit<0>::IsZero() const':
debug/ns3/nstime.h:619: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:619: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:619: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<0>::IsNegative() const':
debug/ns3/nstime.h:622: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:622: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:622: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<0>::IsPositive() const':
debug/ns3/nstime.h:625: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:625: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:625: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<0>::IsStrictlyNegative() const':
debug/ns3/nstime.h:628: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:628: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:628: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: In member function `bool TimeUnit<0>::IsStrictlyPositive() const':
debug/ns3/nstime.h:631: error: `m_data' undeclared (first use this function)
debug/ns3/nstime.h:631: error: `HighPrecision' has not been declared
debug/ns3/nstime.h:631: error: `Zero' undeclared (first use this function)
debug/ns3/nstime.h: At global scope:
debug/ns3/nstime.h:682: error: expected constructor, destructor, or type conversion before '<' token
debug/ns3/nstime.h:682: error: expected `;' before '<' token
debug/ns3/nstime.h:682: error: expected constructor, destructor, or type conversion before '<' token
debug/ns3/nstime.h:682: error: expected `;' before '<' token
debug/ns3/nstime.h:683: error: expected class-name before '{' token
debug/ns3/nstime.h:683: error: ISO C++ forbids declaration of `Ptr' with no type
debug/ns3/nstime.h:683: error: `Ptr' declared as a `virtual' field
debug/ns3/nstime.h:683: error: expected `;' before '<' token
debug/ns3/nstime.h:683: error: `Ptr' has not been declared
debug/ns3/nstime.h:683: error: expected `,' or `...' before '<' token
debug/ns3/nstime.h:683: error: ISO C++ forbids declaration of `parameter' with no type
debug/ns3/nstime.h:683: error: `Ptr' has not been declared
debug/ns3/nstime.h:683: error: expected `,' or `...' before '<' token
debug/ns3/nstime.h:683: error: ISO C++ forbids declaration of `parameter' with no type
debug/ns3/nstime.h:684: error: expected class-name before '{' token
get this build error on open solaris 10



debug/ns3/nstime.h:684: error: expected constructor, destructor, or type conversion before '<' token
debug/ns3/nstime.h:684: error: expected `,' or `;' before '<' token
debug/ns3/nstime.h:686: error: expected declaration before '}' token
In file included from debug/ns3/simulator.h:27,
                 from ../src/core/names.cc:25:
debug/ns3/nstime.h:20:1: unterminated #ifndef
In file included from ../src/core/names.cc:25:
debug/ns3/simulator.h:21:1: unterminated #ifndef
Waf: Leaving directory `/export/home/salil/Documents/ns-allinone-3.5.1/ns-3.5.1/build'
Build failed
 -> task failed (err #1): 
	{task: cxx names.cc -> names_1.o}
Traceback (most recent call last):
  File "build.py", line 117, in ?
    sys.exit(main(sys.argv))
  File "build.py", line 108, in main
    build_ns3(config)
  File "build.py", line 56, in build_ns3
    run_command(["python", "waf"])
  File "/export/home/salil/Documents/ns-allinone-3.5.1/util.py", line 24, in run_command
    raise CommandError("Command %r exited with code %i" % (argv, retval))
util.CommandError: Command ['python', 'waf'] exited with code 1
Comment 1 Mathieu Lacage 2009-11-24 04:51:42 EST
We don't explicitely support this platform but if you can provide non-intrusive patches to support it, I am sure we can merge them. If you really care about this platform, another really helpful thing to do would be to provide a buildbot slave we can connect to our buildbot master to ensure that your platform keeps working once you have fixed all problems.

Anyway, from looking at the error log below, the first problem I see is that your system might be defining a macro which we do not expect. You should try to recompile nstime.h with the -E option send us the generated file.
Comment 2 Tommaso Pecorella 2011-12-13 15:11:50 EST
Is this bug still valid or shall we mark it differently ?
Comment 3 Tommaso Pecorella 2013-08-06 14:08:57 EDT
OpenSolaris isn't one of our supported platforms. Plus, it's discontinued.
Sorry for the OpenSolaris users (if there is still someone out there).