|
Bugzilla – Full Text Bug Listing |
| Summary: | Name clash in ipv4-header.h with defines from <termios.h> | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Alex Afanasyev <alexander.afanasyev> |
| Component: | internet | Assignee: | George Riley <riley> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ns-bugs, tomh |
| Priority: | P5 | ||
| Version: | ns-3-dev | ||
| Hardware: | All | ||
| OS: | Mac OS | ||
| Attachments: | patch to fix | ||
Created attachment 1631 [details]
patch to fix
Comment on attachment 1631 [details]
patch to fix
+1. go for it.
The offending part in termios.h is:
The c_cflag field describes the hardware control of the terminal; not all values specified are required to be supported by the underlying hardware:
CSIZE
Character size:
CS5 5 bits.
CS6 6 bits.
CS7 7 bits.
CS8 8 bits.
Completely unrelated to DSCP.
changeset 897a43e0f9b8 |
Hi guys, On some systems, macros defined in <termios.h> clash with some DscpType enums defined in ipv4-header.h. Here is an error: [ 987/2043] cxx: src/internet/model/ipv4-raw-socket-factory-impl.cc -> build/src/internet/model/ipv4-raw-socket-factory-impl.cc.1.o In file included from ./ns3/ipv4-routing-protocol.h:25, from ./ns3/ipv4-list-routing.h:23, from ./ns3/ipv4-routing-helper.h:26, from ./ns3/ipv4-nix-vector-helper.h:25, from ./ns3/nix-vector-routing-module.h:10, from src/nix-vector-routing/bindings/ns3module.h:63, from src/nix-vector-routing/bindings/ns3module.cc:1: ./ns3/ipv4-header.h:88: error: expected identifier before numeric constant ./ns3/ipv4-header.h:88: error: expected `}' before numeric constant ./ns3/ipv4-header.h:88: error: expected unqualified-id before numeric constant ./ns3/ipv4-header.h:99: error: variable or field ‘SetDscp’ declared void <termios.h> is included in pyport.h, which is included in Python.h, which is included when python bindings are enabled. The interesting fact is that the problem does not appear on all systems, so I'm not sure what exactly caused the error or how to reproduce it. I would highly suggest that we rename constants defined in DscpType enum to include some prefix, so it makes them unique. As far as I checked, these constants are used just in ipv4-header.h|cc and test file.