Bug 370

Summary: ipv4-interface.h is installed
Product: ns-3 Reporter: Mathieu Lacage <mathieu.lacage>
Component: internetAssignee: Gustavo J. A. M. Carneiro <gjcarneiro>
Status: RESOLVED FIXED    
Severity: normal CC: craigdo, gjcarneiro, ns-bugs, tjkopena
Priority: P2    
Version: pre-release   
Hardware: All   
OS: All   
Attachments: patch

Description Mathieu Lacage 2008-10-02 10:30:03 UTC
it clearly should not be installed: this is a private header. Removing it breaks ./waf --python-scan on my system though. It looks like a compiler bug.
Comment 1 Mathieu Lacage 2008-10-02 10:36:54 UTC
we seem to have the same problem with ipv4-l4-protocol.h which is not installed but which is needed to allow --python-scan to work with the latest gccxml. 

Basically, --python-scan is broken with latest gccxml :/

Comment 2 Mathieu Lacage 2008-10-02 10:49:52 UTC
damn ! There is no reason to install ipv4-l3-protocol and ipv4-static-routing either :/

This thing is a mess and it looks like joe is the culprit who made these additions (hg annotate says so).

So:
1) why do we install ipv4-l3-protocol, ipv4-interface and ipv4-static-routing ? is it becacuse of the  --python-scan breakage ?
2) If it is because of this breakage:
  - first, must figure out whether this is not a gccxml bug. I think that it is
  - second, must implement a _different_ workaround. We can't install every header because of _one_ stupid tool.

I am really annoyed to have to discover this now: that kind of change should not go in without discussion. The list of installed headers is _public API_.
Comment 3 Gustavo J. A. M. Carneiro 2008-10-02 11:49:19 UTC
I don't get that gccxml bug, with my old gccxml from around 2008-04-20.

What I do get is a WAF script bug: ./waf --python-scan generates new bindings/python/ns3_module_*.py files, but WAF does not notice the new files, and so does not run pybindgen with them to generate new .cc module files.  This should be fixable, but I've been short on time...

Is the build bug I described what you've been having, or is it really a gccxml bug?  If it's the gccxml bug, try downgrading (cvs up -D 2008-04-20) it.
Comment 4 Gustavo J. A. M. Carneiro 2008-10-02 12:18:08 UTC
Well in fact fixing the build problem with --python-scan is hard, due to the WAF architecture.  As work around I at least made WAF exit right after scanning.
Comment 5 Mathieu Lacage 2008-10-08 04:41:37 UTC
I installed the latest gccxml (cvs HEAD) on fedora9 and and ns-3-dev --python-scan fails. I spent a good while looking at the errors and I am fairly certain that these are correct c++ code. (Can't copy/paste errors here since the fedora9 box is not connected to the internet.
Comment 6 Gustavo J. A. M. Carneiro 2008-10-08 05:59:00 UTC
As noted here, http://www.nsnam.org/wiki/index.php/NS-3_Python_Bindings#The_semi-automatic_way

The version that is tested to work is not latest CVS but 2008-04-20.  A few weeks ago I also tested gccxml CVS HEAD, but it only worked with pygccxml SVN trunk, not with 0.9.5.
Comment 7 Gustavo J. A. M. Carneiro 2009-02-28 10:03:52 UTC
Created attachment 392 [details]
patch

I made the mentioned headers private and re-scanned python bindings, compiled, regression testing, all appears to work with no problem.