Bug 598

Summary: Building fails with linux g++-4.0.4, Mac and Mingwin: error: no match for 'operator!='
Product: ns-3 Reporter: Faker Moatamri <faker.moatamri>
Component: internetAssignee: ns-bugs <ns-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: tomh
Priority: P5    
Version: pre-release   
Hardware: All   
OS: All   

Description Faker Moatamri 2009-06-19 11:16:12 UTC
Mingwin fails again but for a different reason:
..\src\internet-stack\ipv4-list-routing.cc: In member function `virtual ns3::Ptr<ns3::Ipv4Route> ns3::Ipv4ListRouting::RouteOutput(const ns3::Ipv4Header&, uint32_t, ns3::Socket::SocketErrno&)':
..\src\internet-stack\ipv4-list-routing.cc:80: error: no match for 'operator!=' in 'i != std::list<_Tp, _Alloc>::rend() [with _Tp = std::pair<int16_t, ns3::Ptr<ns3::Ipv4RoutingProtocol> >, _Alloc = std::allocator<std::pair<int16_t, ns3::Ptr<ns3::Ipv4RoutingProtocol> > >]()'
debug/ns3/type-id.h:407: note: candidates are: bool ns3::operator!=(ns3::TypeId, ns3::TypeId)
debug/ns3/address.h:230: note:                 bool ns3::operator!=(const ns3::Address&, const ns3::Address&)
debug/ns3/ipv4-address.h:279: note:                 bool ns3::operator!=(const ns3::Ipv4Address&, const ns3::Ipv4Address&)
debug/ns3/ipv4-address.h:294: note:                 bool ns3::operator!=(const ns3::Ipv4Mask&, const ns3::Ipv4Mask&)
debug/ns3/ipv4-interface-address.h:93: note:                 bool ns3::operator!=(const ns3::Ipv4InterfaceAddress&, const ns3::Ipv4InterfaceAddress&)
debug/ns3/ipv6-address.h:406: note:                 bool ns3::operator!=(const ns3::Ipv6Address&, const ns3::Ipv6Address&)
debug/ns3/ipv6-address.h:422: note:                 bool ns3::operator!=(const ns3::Ipv6Prefix&, const ns3::Ipv6Prefix&)
..\src\internet-stack\ipv4-list-routing.cc: In member function `virtual bool ns3::Ipv4ListRouting::RouteInput(ns3::Ptr<const ns3::Packet>, const ns3::Ipv4Header&, ns3::Ptr<const ns3::NetDevice>, ns3::Callback<void, ns3::Ptr<ns3::Ipv4Route>, ns3::Ptr<const ns3::Packet>, const ns3::Ipv4Header&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>, ns3::Callback<void, ns3::Ptr<ns3::Ipv4MulticastRoute>, ns3::Ptr<const ns3::Packet>, const ns3::Ipv4Header&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>, ns3::Callback<void, ns3::Ptr<const ns3::Packet>, const ns3::Ipv4Header&, uint32_t, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>, ns3::Callback<void, ns3::Ptr<const ns3::Packet>, const ns3::Ipv4Header&, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty>)':
..\src\internet-stack\ipv4-list-routing.cc:132: error: no match for 'operator!=' in 'rprotoIter != std::list<_Tp, _Alloc>::rend() [with _Tp = std::pair<int16_t, ns3::Ptr<ns3::Ipv4RoutingProtocol> >, _Alloc = std::allocator<std::pair<int16_t, ns3::Ptr<ns3::Ipv4RoutingProtocol> > >]()'
debug/ns3/type-id.h:407: note: candidates are: bool ns3::operator!=(ns3::TypeId, ns3::TypeId)
debug/ns3/address.h:230: note:                 bool ns3::operator!=(const ns3::Address&, const ns3::Address&)
debug/ns3/ipv4-address.h:279: note:                 bool ns3::operator!=(const ns3::Ipv4Address&, const ns3::Ipv4Address&)
debug/ns3/ipv4-address.h:294: note:                 bool ns3::operator!=(const ns3::Ipv4Mask&, const ns3::Ipv4Mask&)
debug/ns3/ipv4-interface-address.h:93: note:                 bool ns3::operator!=(const ns3::Ipv4InterfaceAddress&, const ns3::Ipv4InterfaceAddress&)
debug/ns3/ipv6-address.h:406: note:                 bool ns3::operator!=(const ns3::Ipv6Address&, const ns3::Ipv6Address&)
debug/ns3/ipv6-address.h:422: note:                 bool ns3::operator!=(const ns3::Ipv6Prefix&, const ns3::Ipv6Prefix&)
..\src\internet-stack\ipv4-list-routing.cc:190: error: no match for 'operator!=' in 'rprotoIter != std::list<_Tp, _Alloc>::rend() [with _Tp = std::pair<int16_t, ns3::Ptr<ns3::Ipv4RoutingProtocol> >, _Alloc = std::allocator<std::pair<int16_t, ns3::Ptr<ns3::Ipv4RoutingProtocol> > >]()'
debug/ns3/type-id.h:407: note: candidates are: bool ns3::operator!=(ns3::TypeId, ns3::TypeId)
debug/ns3/address.h:230: note:                 bool ns3::operator!=(const ns3::Address&, const ns3::Address&)
debug/ns3/ipv4-address.h:279: note:                 bool ns3::operator!=(const ns3::Ipv4Address&, const ns3::Ipv4Address&)
debug/ns3/ipv4-address.h:294: note:                 bool ns3::operator!=(const ns3::Ipv4Mask&, const ns3::Ipv4Mask&)
debug/ns3/ipv4-interface-address.h:93: note:                 bool ns3::operator!=(const ns3::Ipv4InterfaceAddress&, const ns3::Ipv4InterfaceAddress&)
debug/ns3/ipv6-address.h:406: note:                 bool ns3::operator!=(const ns3::Ipv6Address&, const ns3::Ipv6Address&)
debug/ns3/ipv6-address.h:422: note:                 bool ns3::operator!=(const ns3::Ipv6Prefix&, const ns3::Ipv6Prefix&)
'c:\\msys\\1.0\\home\\mathieu\\buildslave\\full-mingw-g++\\build\\bindings\\python\\ns3\\__init__.py' -> 'c:\\msys\\1.0\\home\\mathieu\\buildslave\\full-mingw-g++\\build\\build\\debug\\bindings\\python\\ns3\\__init__.py'
Waf: Leaving directory `c:\msys\1.0\home\mathieu\buildslave\full-mingw-g++\build\build'
Build failed
 -> task failed (err #1): 
	{task: cxx ipv4-list-routing.cc -> ipv4-list-routing_1.o}
Comment 1 Tom Henderson 2009-06-19 17:43:19 UTC
does changeset 5c6e1f086a36 fix this?  (I have no mingw to test)
Comment 2 Faker Moatamri 2009-06-22 03:39:54 UTC
4574:8c0ff401237e