Bug 1904

Summary: Error with --int64x64=double waf configure
Product: ns-3 Reporter: Brian Swenson <bswenson3>
Component: coreAssignee: Mathieu Lacage <mathieu.lacage>
Status: RESOLVED FIXED    
Severity: normal CC: ns-bugs, tomh
Priority: P5    
Version: ns-3-dev   
Hardware: PC   
OS: Linux   
See Also: https://www.nsnam.org/bugzilla/show_bug.cgi?id=1761

Description Brian Swenson 2014-04-23 10:30:29 UTC
I get the following when building with the following configuration.
I'm using Ubuntu 13.  Daniel also is getting the error on his Fedora box.

./waf configure --enable-examples --enable-tests --disable-python --int64x64=double

./waf
....

In file included from ./ns3/int64x64.h:15,
                 from ../src/core/test/int64x64-test-suite.cc:1:
./ns3/int64x64-double.h:133: error: ISO C++ forbids declaration of ‘pair’ with no type
./ns3/int64x64-double.h:133: error: invalid use of ‘::’
./ns3/int64x64-double.h:133: error: expected ‘;’ before ‘<’ token
In file included from /usr/include/c++/4.4/ios:40,
                 from /usr/include/c++/4.4/ostream:40,
                 from /usr/include/c++/4.4/iostream:40,
                 from ./ns3/int64x64.h:18,
                 from ../src/core/test/int64x64-test-suite.cc:1:
/usr/include/c++/4.4/exception:35: error: expected ‘;’ before end of line
/usr/include/c++/4.4/exception:35: error: expected ‘}’ before end of line
In file included from ./ns3/int64x64.h:15,
                 from ../src/core/test/int64x64-test-suite.cc:1:
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t()’:
./ns3/int64x64-double.h:52: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(double)’:
./ns3/int64x64-double.h:60: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(long double)’:
./ns3/int64x64-double.h:62: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(int)’:
./ns3/int64x64-double.h:72: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(long int)’:
./ns3/int64x64-double.h:74: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(long long int)’:
./ns3/int64x64-double.h:76: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(unsigned int)’:
./ns3/int64x64-double.h:78: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(long unsigned int)’:
./ns3/int64x64-double.h:80: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(long long unsigned int)’:
./ns3/int64x64-double.h:82: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h: In constructor ‘ns3::int64x64_t::int64x64_t(int64_t, uint64_t)’:
./ns3/int64x64-double.h:95: error: ‘_v’ was not declared in this scope
./ns3/int64x64-double.h: In copy constructor ‘ns3::int64x64_t::int64x64_t(const ns3::int64x64_t&)’:
./ns3/int64x64-double.h:106: error: class ‘ns3::int64x64_t’ does not have any field named ‘_v’
./ns3/int64x64-double.h:106: error: ‘const class ns3::int64x64_t’ has no member named ‘_v’
./ns3/int64x64-double.h: In member function ‘ns3::int64x64_t& ns3::int64x64_t::operator=(const ns3::int64x64_t&)’:
./ns3/int64x64-double.h:114: error: ‘_v’ was not declared in this scope
./ns3/int64x64-double.h:114: error: ‘const class ns3::int64x64_t’ has no member named ‘_v’
./ns3/int64x64-double.h: In member function ‘double ns3::int64x64_t::GetDouble() const’:
./ns3/int64x64-double.h:125: error: ‘_v’ was not declared in this scope
In file included from /usr/include/c++/4.4/ios:40,
                 from /usr/include/c++/4.4/ostream:40,
                 from /usr/include/c++/4.4/iostream:40,
                 from ./ns3/int64x64.h:18,
                 from ../src/core/test/int64x64-test-suite.cc:1:
/usr/include/c++/4.4/exception: At global scope:
/usr/include/c++/4.4/exception:35: error: expected unqualified-id before end of line
/usr/include/c++/4.4/exception:35: error: expected ‘}’ before end of line
/usr/include/c++/4.4/exception:35: error: expected declaration before end of line
Comment 1 Tom Henderson 2014-04-24 20:40:29 UTC
was a missing include; fixed in 10700:159c58e203a6